{"slug": "show-hn-othismo-a-runtime-for-sandboxed-objects", "title": "Show HN: Othismo, a Runtime for Sandboxed Objects", "summary": "A developer released Othismo, an open-source runtime that hosts sandboxed WebAssembly modules communicating with each other and the host environment, and is currently serving its own website at othismo.com. The project, published on GitHub under mamidon/othismo, uses .oth image definition files to describe namespaces and object interfaces, aiming to draw a clear line between computation and side effects so that large agent-generated pull requests can be reviewed without confidence that no socket or file access was opened. The author is soliciting feedback on the image-definition syntax, noting that keywords such as `operator` and `readonly` exist only because protocol-layer authentication is not yet supported.", "body_md": "Othismo is a runtime which has a bunch of sandboxed WASM modules talking to each other + the host environment. It's actually hosting its own website right now at othismo.com.\n\nThis is a project that's been percolating in my head for a while, as a vague desire to make a \"better\" runtime for software development. But it was never particularly clear for me what that would _actually_ look like. In the last month or so, I felt a bit inspired to ask what such a runtime might look like for agentic development.\n\nMy hypothesis is that we really can't review 10k+ SLoC pull requests consistently and really understand them. But if we try to have a higher level view of things, we still can't be confident the agent(s) haven't done something stupid and opened a socket or a file somewhere in that 10k+ SLoC.\n\nTherefore we need a very clear demarcation between computation and side effects. In Othismo that takes the shape of the image definition files (.oth) which describe the namespace + various type definitions describing what the interface of an object (should) be. It's somewhat like TypeScript, we don't actually do anything to verify an object conforms to this interface.\n\nI'd love your feedback on the syntax used to define images overall, I feel like it doesn't do a great job giving me a clear notion of the environment lexically. I'm more comfortable about the syntax for describing the behavior of objects, although things like `operator` and `readonly` are really only necessary because I've not done anything to support auth at the protocol layer yet.\n\nYou can run the same website hosted at othismo.com with\n\n`git clone git@github.com:mamidon/othismo.git`\n\n`task run:example:static`\n\nYou can also play with the namespace interactively with\n\n``` task build:example:static target/debug/othismo shell examples/static/static.rti\n\n# print out the namespace(s) target/debug/othismo --check examples/static/static.rti ```\n\nYou'll need rust, task (it's like make), and node+npm.\n\nComments URL: [https://news.ycombinator.com/item?id=50319764](https://news.ycombinator.com/item?id=50319764)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-othismo-a-runtime-for-sandboxed-objects", "canonical_source": "https://othismo.com", "published_at": "2026-10-31 20:23:15+00:00", "updated_at": "2026-10-31 20:51:23.595906+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-safety"], "entities": ["Othismo", "othismo.com", "GitHub", "WebAssembly", "mamidon"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-othismo-a-runtime-for-sandboxed-objects", "markdown": "https://wpnews.pro/news/show-hn-othismo-a-runtime-for-sandboxed-objects.md", "text": "https://wpnews.pro/news/show-hn-othismo-a-runtime-for-sandboxed-objects.txt", "jsonld": "https://wpnews.pro/news/show-hn-othismo-a-runtime-for-sandboxed-objects.jsonld"}}