+0.28 Ladybird adopts Rust, with help from AI (ladybird.org S:+0.28 )
1272 points by adius 6 days ago | 698 comments on HN | Moderate positive Contested Editorial · v3.7 · 2026-02-26 04:24:24 0
Summary Knowledge & Participation Advocates
This technical blog post documents Ladybird browser's adoption of Rust, emphasizing transparent decision-making, collaborative development methodology with human-directed AI assistance, and open-source participation. The content engages primarily with Article 19 (freedom of expression and access to information) and Article 27 (participation in cultural and scientific life) through openly accessible technical documentation, identified authorship, and emphasis on community coordination in development processes.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.46 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: ND — Education Article 26: No Data — Education 26 Article 27: +0.44 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.28 Structural Mean +0.28
Weighted Mean +0.45 Unweighted Mean +0.45
Max +0.46 Article 19 Min +0.44 Article 27
Signal 2 No Data 29
Volatility 0.01 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL -0.02 Structural-dominant
FW Ratio 56% 9 facts · 7 inferences
Evidence 8% coverage
4M 27 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.46 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.44 (1 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 20 top-level · 30 replies
viktorcode 2026-02-23 11:47 UTC link
> We previously explored Swift, but the C++ interop never quite got there

But Rust doesn't have C++ interop at all?

mosura 2026-02-23 11:48 UTC link
Interestingly editorialized title omits “with help from AI”.
qudat 2026-02-23 11:50 UTC link
> We know the result isn’t idiomatic Rust, and there’s a lot that can be simplified once we’re comfortable retiring the C++ pipeline. That cleanup will come in time.

Correct me if I’m wrong since I don’t know these two languages, but like some other languages, doing things the idiomatic way could be dramatically different. Is “cleanup” doing a lot of heavy lifting here? Could that also mean another complete rewrite from scratch?

A startup switching languages after years of development is usually a big red flag. “We are rewriting it in X” posts always preceded “We are shutting down”. I wish them luck though!

skerit 2026-02-23 11:56 UTC link
> I used Claude Code and Codex for the translation. This was human-directed, not autonomous code generation. I decided what to port, in what order, and what the Rust code should look like. It was hundreds of small prompts, steering the agents where things needed to go. After the initial translation, I ran multiple passes of adversarial review, asking different models to analyze the code for mistakes and bad patterns. > The requirement from the start was byte-for-byte identical output from both pipelines. The result was about 25,000 lines of Rust, and the entire port took about two weeks. The same work would have taken me multiple months to do by hand. We’ve verified that every AST produced by the Rust parser is identical to the C++ one, and all bytecode generated by the Rust compiler is identical to the C++ compiler’s output. Zero regressions across the board

This is the way. Coding assistants are also really great at porting from one language to the other, especially if you have existing tests.

ramon156 2026-02-23 12:19 UTC link
I'm a long-time Rust fan and have no idea how to respond. I think I need a lot more info about this migration, especially since Ladybird devs have been very vocal about being "anti-rust" (I guess more anti-hype, where Rust was the hype).

I don't know if it's a good fit. Not because they're writing a browser engine in Rust (good), but because Ladybird praises CPP/Swift currently and have no idea what the contributor's stance is.

At least contributing will be a lot nicer from my end, because my PR's to Ladybird have been bad due to having no CPP experience. I had no idea what I was doing.

djoldman 2026-02-23 12:32 UTC link
A lot of the previous calculus around refactoring and "rewrite the whole thing in a new language" is out the window now that AI is ubiquitous. Especially in situations where there is an extensive test suite.

Testing has become 10x as important as ever.

pjmlp 2026-02-23 12:33 UTC link
All the best to them, however this feels like yah shaving instead of focusing into delivering a browser than can become an alternative to Safari/Chrome duopoly.
easton 2026-02-23 12:48 UTC link
I know he doesn't make live coding videos anymore, but it'd be cool if Andreas showed off how this worked a little more. I'm curious how much he had to fix by hand (vs reprompting or spinning a different model or whatever).
account42 2026-02-23 12:51 UTC link
> We previously explored Swift, but the C++ interop never quite got there, and platform support outside the Apple ecosystem was limited.

Why was there ever any expectation for Swift having good platform support outside Apple? This should have been (and was to me) already obvious when they originally announced moving to Swift.

nicoburns 2026-02-23 12:59 UTC link
Very happy to see this. Ladybird's engineering generally seems excellent, but the decision to use Swift always seemed pretty "out there". Rust makes a whole lot more sense.
thiht 2026-02-23 13:10 UTC link
Cool, that seems like a rational choice. I hope this will help Ladybird and Servo benefit from each other in the long run, and will make both of them more likely to succeed
vipulbhj 2026-02-23 13:18 UTC link
Someone should try this with the “Ralph Wiggum loop” approach. I suspect it would fail spectacularly, but it would be fascinating to watch.

Personally, I can’t get meaningful results unless I use the tool in a true pair-programming mode—watching it reason, plan, and execute step by step. The ability to clearly articulate exactly what you want, and how you want it done, is becoming a rare skill.

Fervicus 2026-02-23 13:19 UTC link
> We know the result isn’t idiomatic Rust, and there’s a lot that can be simplified once we’re comfortable retiring the C++ pipeline. That cleanup will come in time.

I wonder what kind of tech debt this brings and if the trade off will be worth whatever problems they were having with C++.

ZoomZoomZoom 2026-02-23 14:10 UTC link
Looks like Andreas is a mighty fine engineer, but he's even better entrepreneur. Doesn't matter if intentional or not, but he managed to create and lead a rather visible passion project, attract many contributors and use that project's momentum to detach Ladybird into a separate endeavor with much more concrete financial prospects.

The Jakt -> Swift -> Rust pivots look like the same thing on a different level. The initial change to Swift was surely motivated by potential industry support gain (i believe it was a dubious choice from purely engineering standpoint).

It's awe-inspiring to see how a person can carve a job for himself, leverage hobbyists'/hackers' interest and contributions, attract industry attention and sponsors all while doing the thing he likes (assuming, browsers are his thing) in a controlling position.

Can't fully rationalize the feeling, but all of this makes me slightly wary. Doesn't make it less cool to observe from a side, though.

jonkoops 2026-02-23 14:26 UTC link
I hope that this opens the door for collaboration between Ladybird and Servo, no need to reinvent the wheel for core components.
kneel25 2026-02-23 14:34 UTC link
> After the initial translation, I ran multiple passes of adversarial review, asking different models to analyze the code for mistakes and bad patterns.

I feel like you just know it’s doomed. What this is saying is “I didn’t want to and cannot review the code it generated” asking models to find mistakes never works for me. It’ll find obvious patterns, a tendency towards security mistakes, but not deep logical errors.

pizlonator 2026-02-23 14:46 UTC link
Porting the JS parser to Rust and adopting Rust in other parts of the engine while continuing to use C++ heavily is unlikely to make Ladybird meaningfully more secure.

Attackers are surprisingly resilient to partial security.

alabhyajindal 2026-02-23 15:15 UTC link
> This is not becoming the main focus of the project. We will continue developing the engine in C++, and porting subsystems to Rust will be a sidetrack that runs for a long time.

I don't like this bit. Wouldn't it be better to decide on a memory-safe language, and then commit to it by writing all new code in Rust, or whatever. This looks like doing double the work.

alabhyajindal 2026-02-23 15:38 UTC link
From their post on Twitter in 2024 when they adopted Swift, with a comment on Rust.

My general thoughts on Rust:

- Excellent for short-lived programs that transform input A to output B

- Clunky for long-lived programs that maintain large complex object graphs

- Really impressive ecosystem

- Toxic community

https://xcancel.com/awesomekling/status/1822241531501162806

jp1016 2026-02-23 15:57 UTC link
The byte-for-byte identical output requirement is the smartest part of this whole thing. You basically get to run the old and new pipelines side by side and diff them, which means any bug in the translation is immediately caught. Way too many rewrites fail because people try to "improve" things during the port and end up chasing phantom bugs that might be in the old code, the new code, or just behavioral differences.

Also worth noting that "translated from C++" Rust is totally fine as a starting point. You can incrementally make it more idiomatic later once the C++ side is retired. The Rust compiler will still catch whole classes of memory bugs even if the code reads a bit weird. That's the whole point.

tonyedgecombe 2026-02-23 11:52 UTC link
>But Rust doesn't have C++ interop at all?

It also doesn't have the disadvantages of Swift. Once the promise of Swift/C++ interop is gone there isn't enough left to recommend it.

supriyo-biswas 2026-02-23 11:53 UTC link
A LLM-assisted codebase migration is perhaps one of the better use cases for them, and interestingly the author advocates for a hands-on approach.

Adding the "with help from AI" almost always devolves the discussion from that to "developers must adopt AI or else!" on the one hand and "society is being destroyed by slop!" on the other, so as long as that's not happening I'm not complaining about the editorialized title.

nicoburns 2026-02-23 11:55 UTC link
You can do it via the C ABI, and use opaque pointers to represent higher-level Rust/C++ concepts if you want to.

Firefox is a mixed C++ / Rust codebase with a relatively close coupling between Rust and C++ components in places (layout/dom/script are in C++ while style is in Rust, and a mix of WebRender (Rust) and Skia (C++) are used for rendering with C++ glue code)

samiv 2026-02-23 11:58 UTC link
This is the famous trap that Joel on Software talked about in a blog post long time ago.

If you do a rewrite you essentially put everything else on halt while rewriting.

If you keep doing feature dev on the old while another "tiger team" is doing the rewrite port then these two teams are essentially in a race against each other and the port will likely never catch up. (Depending on relative velocities)

Maybe they think that they can to this LLM assisted tools in a big bang approach quickly and then continue from there without spending too much time on it.

giancarlostoro 2026-02-23 12:03 UTC link
This is also how some of us use Claude despite what the haters say. You dont just go “build thing” you architect, review, refine, test and build.
gaigalas 2026-02-23 12:06 UTC link
> A startup switching languages after years of development is usually a big red flag.

Startups are not a good comparison here. They have a different relationship with code than software projects.

Linux has rewriten entire stacks over and over again.

The PHP engine was rewritten completely at least twice.

The musl libc had entire components rewritten basically from scratch and later integrated.

alpinisme 2026-02-23 12:09 UTC link
That’s probably just the classic HackerNews title shortening algorithm at work.
embedding-shape 2026-02-23 12:10 UTC link
Agree, and it's also such a shame that none of the AI companies actually focus on that way of using AI.

All of them are moving into the direction of "less human involved and agents do more", while what I really want is better tooling for me to work closer with AI and be better at reviewing/steering it, and be more involved. I don't want "Fire one prompt and get somewhat working code", I want a UX tailored for long sessions with back and forth, letting me leverage my skills, rather than agents trying to emulate what I already can do myself.

It was said a long time ago about computing in general, but more fitting than ever, "Augmenting the human intellect" is what we should aim for, not replacing the human intellect. IA ("Intelligence amplification") rather than AI.

But I'm guessing the target market for such tools would be much smaller, basically would require you to already understand software development, and know what you want, while all AI companies seem to target non-developers wanting to build software now. It's no-code all over again essentially.

otikik 2026-02-23 12:15 UTC link
I am learning rust myself and one of the things I definetly didn't want to do was let Claude write all the code. But I needed guidance.

I decided to create a Claude skill called "teach". When I enable it, Claude never writes any code. It just gives me hints - progressively more detailed if I am stuck. Then it reviews what I write.

I am finding it very satisfying to work this way - Rust in particular is a language where there's little space to "wing it". Most language features are interlaced with each other and having an LLM supporting me helps a lot. "Let's not declare a type for this right now, we would have to deal with several lifetime issues, let's add a note to the plan and revisit this later".

FpUser 2026-02-23 12:19 UTC link
I think we've come to the point when it should be the opposite for any new code, something in line of: "done without AI". Bein an old fart working in software development I have many friends working as very senior developers. Every single one of them including yours truly uses AI.

I use AI more and more. Goes like create me classes A,B,C with such and such descriptive names, take this state machine / flowchart description to understand the flow and use this particular sets of helpers declared in modules XYZ

I then test the code and then go over and look at any un-optimal and other patterns I prefer not to have and asking to change those.

After couple of iterations code usually shines. I also cross check final results against various LLMs just in case

jvillasante 2026-02-23 12:21 UTC link
Exactly my thought! I guess I'll keep Firefox for the foreseeable future...
nicoburns 2026-02-23 12:27 UTC link
A mitigating factor in this case is the C++ and Rust are both multi-paradigm languages. You can quite reasonably represent most C++ patterns in Rust, even if it might not be quite how you'd write Rust in the first place.
azornathogron 2026-02-23 12:29 UTC link
It may have in the future. Crubit is one effort in this direction: https://crubit.rs/
patates 2026-02-23 12:33 UTC link
> Coding assistants are also really great at porting from one language to the other

I had a broken, one-off Perl script, a relic from the days when everyone thought Drupal was the future (long time ago). It was originally designed to migrate a site from an unmaintained internal CMS to Drupal. The CMS was ancient and it only ran in a VM for "look what we built a million years ago" purposes (I even had written permission from my ex-employer to keep that thing).

Just for a laugh, I fed this mess of undeclared dependencies and missing logic into Claude and told it to port the whole thing to Rust. It spent 80 minutes researching Drupal and coding, then "one-shotted" a functional import tool. Not only did it mirror the original design and module structure, but it also implemented several custom plugins based on hints it found in my old code comments.

It burned through a mountain of tokens, but 10/10 - would generate tens of thousands of lines of useless code again.

The Epilogue: That site has since been ported to WordPress, then ProcessWire, then rebuilt as a Node.js app. Word on the street is that some poor souls are currently trying to port it to Next.js.

pjmlp 2026-02-23 12:35 UTC link
Well, I am on the provocative side that as AI tooling matures current programming languages will slowly become irrelevant.

I am already using low code tooling with agents for some projects, in iPaaS products.

woadwarrior01 2026-02-23 12:42 UTC link
Yeah, that part doesn't make much sense to me. IMO, Swift has reasonably good C++ interop[1] and Swift's C interop has also significantly improved[2] since Swift 6.2.

[1]: https://www.swift.org/documentation/cxx-interop/

[2]: https://www.swift.org/blog/improving-usability-of-c-librarie...

latexr 2026-02-23 12:42 UTC link
> Ladybird praises CPP/Swift currently

Not anymore.

https://news.ycombinator.com/item?id=47067678

ozgrakkurt 2026-02-23 12:46 UTC link
Spending weeks porting (presumably) working code with LLM is a bit strange
smartmic 2026-02-23 12:51 UTC link
I am somewhat concerned about the volatility. All three languages have their merits and each has a stable foundation that has been developed and established over many years. The fact that the programming language has been “changed” within a short period of time, or rather that the direction has been altered, does not inspire confidence in the overall continuity of Ladybird's design decisions.
l5870uoo9y 2026-02-23 12:53 UTC link
You can checkout the pull requests related to LibJS: https://github.com/LadybirdBrowser/ladybird/pulls?q=is%3Apr+...
matthewkosarek 2026-02-23 12:56 UTC link
There is also cxx.rs, which is quite nice, albeit you have to struggle sending `std` types back and forth a bit
cogman10 2026-02-23 12:58 UTC link
Agreed. They said they ruled out rust in 2024, I believe the article they published was near the end of 2024 because I remember reading it fairly recently.

Seems like a lot of language switches in a short time frame. That'd make me super nervous working on such a project. There will be rough parts for every language and deciding seemingly on whims that 1 isn't good enough will burn a lot of time and resources.

adastra22 2026-02-23 13:11 UTC link
Apple’s own marketing speak has Swift as a cross platform language. Just like, I suppose, C# is a cross platform language.

Apple puts zero resources into making that claim reality, however.

thrdbndndn 2026-02-23 13:19 UTC link
I'd argue Ladybird itself is a "hype" project.
cromka 2026-02-23 13:25 UTC link
Part of browser experience is safety and migrating their JS library to Rust is probably one of the best ways to gain advantage over any other existing engine out there in this aspect. Strategically this may and likely will attract 3rd party users of the JS library itself, thus helping its adoption and further improving it.

They're not porting the browser itself to Rust, for the record.

simonw 2026-02-23 13:28 UTC link
Given the quality of their existing test suite I'm confident the Ralph Wiggum loop would produce a working implementation... but the code quality wouldn't be anywhere near what they got from two weeks of hands-on expert prompting.
throwaway2037 2026-02-23 13:30 UTC link

    > Ralph Wiggum loop
Can you explain more? (I know the reference that he is the idiot son of Chief Wiggum from The Simpsons.)
cromka 2026-02-23 13:31 UTC link
I don't think they were having problems with C++, they moved to Rust for memory safety. Mind that they migrated LibJS, their JavaScript library.
edgyquant 2026-02-23 13:33 UTC link
What happened? It’s been awhile since I checked in but it seems he doesn’t work on serenity and doesn’t live stream anymore (and is now into lifting weights)
heliumtera 2026-02-23 14:02 UTC link
Andreas Kling mentioned many times they would prefer a safer language, specifically for their js runtime garbage collector. But since the team were already comfortable with cpp that was the choice, but they were open and active seeking alternatives.

The problem was strictly how cpp is perceived as an unsafe language, and this problem rust does solve! Not being sarcastic, this truly looks like a mature take. Like, we don't know if moving to rust would improve quality or prevent vulnerabilities, here's our best effort to find out and ignore if the claim has merits for now. If the claim maintains, well, you're better prepared, if it doesn't, but the code holds similar qualities...what is the downside?

Editorial Channel
What the content says
+0.30
Article 27 Cultural Participation
Medium Advocacy Practice
Editorial
+0.30
SETL
+0.15

Content documents participation in open-source software development, collaboration with AI tools, and technical decision-making that benefits the commons; explicit discussion of community coordination and transparent process.

+0.25
Article 19 Freedom of Expression
Medium Advocacy Practice
Editorial
+0.25
SETL
-0.19

Content presents detailed technical reasoning about language choice and development methodology, supporting informed public discourse on technology decisions.

ND
Preamble Preamble
Medium Practice

Not directly engaged.

ND
Article 1 Freedom, Equality, Brotherhood

Not engaged.

ND
Article 2 Non-Discrimination

Not engaged.

ND
Article 3 Life, Liberty, Security

Not engaged.

ND
Article 4 No Slavery

Not engaged.

ND
Article 5 No Torture

Not engaged.

ND
Article 6 Legal Personhood

Not engaged.

ND
Article 7 Equality Before Law

Not engaged.

ND
Article 8 Right to Remedy

Not engaged.

ND
Article 9 No Arbitrary Detention

Not engaged.

ND
Article 10 Fair Hearing

Not engaged.

ND
Article 11 Presumption of Innocence

Not engaged.

ND
Article 12 Privacy

Not engaged.

ND
Article 13 Freedom of Movement

Not engaged.

ND
Article 14 Asylum

Not engaged.

ND
Article 15 Nationality

Not engaged.

ND
Article 16 Marriage & Family

Not engaged.

ND
Article 17 Property

Not engaged.

ND
Article 18 Freedom of Thought

Not engaged.

ND
Article 20 Assembly & Association

Not engaged.

ND
Article 21 Political Participation

Not engaged.

ND
Article 22 Social Security

Not engaged.

ND
Article 23 Work & Equal Pay

Not engaged.

ND
Article 24 Rest & Leisure

Not engaged.

ND
Article 25 Standard of Living

Not engaged.

ND
Article 26 Education
Medium Practice

Not directly engaged.

ND
Article 28 Social & International Order

Not engaged.

ND
Article 29 Duties to Community

Not engaged.

ND
Article 30 No Destruction of Rights

Not engaged.

Structural Channel
What the site does
+0.35
Article 19 Freedom of Expression
Medium Advocacy Practice
Structural
+0.35
Context Modifier
+0.17
SETL
-0.19

Blog post is openly accessible without paywall; code repository referenced is publicly available; transparent authorship (Andreas Kling identified).

+0.22
Article 27 Cultural Participation
Medium Advocacy Practice
Structural
+0.22
Context Modifier
+0.17
SETL
+0.15

Open-source project structure (referenced code accessible publicly); transparent authorship and collaborative methodology; content freely accessible.

ND
Preamble Preamble
Medium Practice

Accessible navigation structure (aria-expanded, semantic HTML) supports universal participation in knowledge access.

ND
Article 1 Freedom, Equality, Brotherhood

Not observable on this page.

ND
Article 2 Non-Discrimination

Not observable on this page.

ND
Article 3 Life, Liberty, Security

Not observable on this page.

ND
Article 4 No Slavery

Not observable on this page.

ND
Article 5 No Torture

Not observable on this page.

ND
Article 6 Legal Personhood

Not observable on this page.

ND
Article 7 Equality Before Law

Not observable on this page.

ND
Article 8 Right to Remedy

Not observable on this page.

ND
Article 9 No Arbitrary Detention

Not observable on this page.

ND
Article 10 Fair Hearing

Not observable on this page.

ND
Article 11 Presumption of Innocence

Not observable on this page.

ND
Article 12 Privacy

Not observable on this page.

ND
Article 13 Freedom of Movement

Not observable on this page.

ND
Article 14 Asylum

Not observable on this page.

ND
Article 15 Nationality

Not observable on this page.

ND
Article 16 Marriage & Family

Not observable on this page.

ND
Article 17 Property

Not observable on this page.

ND
Article 18 Freedom of Thought

Not observable on this page.

ND
Article 20 Assembly & Association

Not observable on this page.

ND
Article 21 Political Participation

Not observable on this page.

ND
Article 22 Social Security

Not observable on this page.

ND
Article 23 Work & Equal Pay

Not engaged.

ND
Article 24 Rest & Leisure

Not observable on this page.

ND
Article 25 Standard of Living

Not observable on this page.

ND
Article 26 Education
Medium Practice

Accessible web design (semantic HTML, aria attributes) supports equitable access to technical knowledge and education.

ND
Article 28 Social & International Order

Not observable on this page.

ND
Article 29 Duties to Community

Not observable on this page.

ND
Article 30 No Destruction of Rights

Not observable on this page.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.83 medium claims
Sources
0.8
Evidence
0.8
Uncertainty
0.8
Purpose
0.9
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.4
Arousal
0.3
Dominance
0.6
Transparency
Does the content identify its author and disclose interests?
0.50
✓ Author ✗ Conflicts ✗ Funding
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.69 solution oriented
Reader Agency
0.7
Stakeholder Voice
Whose perspectives are represented in this content?
0.45 3 perspectives
Speaks: institutionindividuals
About: corporationcommunity
Temporal Framing
Is this content looking backward, at the present, or forward?
present medium term
Geographic Scope
What geographic area does this content cover?
global
Apple ecosystem
Complexity
How accessible is this content to a general audience?
technical high jargon domain specific
Longitudinal · 5 evals
+1 0 −1 HN
Audit Trail 25 entries
2026-02-28 14:30 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 14:30 model_divergence Cross-model spread 0.31 exceeds threshold (4 models) - -
2026-02-28 14:30 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
Tech post with no rights stance
2026-02-26 23:03 eval_success Light evaluated: Mild positive (0.20) - -
2026-02-26 23:03 eval Evaluated by llama-4-scout-wai: +0.20 (Mild positive)
2026-02-26 20:12 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 20:10 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 20:08 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 20:07 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:36 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 17:34 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:33 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:32 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 09:00 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 08:59 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 08:59 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 08:59 dlq Dead-lettered after 1 attempts: Ladybird adopts Rust, with help from AI - -
2026-02-26 08:58 rate_limit OpenRouter rate limited (429) model=hermes-3-405b - -
2026-02-26 08:57 rate_limit OpenRouter rate limited (429) model=qwen3-next-80b - -
2026-02-26 08:57 rate_limit OpenRouter rate limited (429) model=mistral-small-3.1 - -
2026-02-26 08:57 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 08:57 eval_success Evaluated: Mild positive (0.26) - -
2026-02-26 08:57 eval Evaluated by deepseek-v3.2: +0.26 (Mild positive) 9,418 tokens
2026-02-26 04:24 eval Evaluated by claude-haiku-4-5-20251001: +0.31 (Neutral) 10,112 tokens +0.01
2026-02-26 02:45 eval Evaluated by claude-haiku-4-5-20251001: +0.30 (Mild positive) 10,968 tokens