Hacker News
AI-Assisted Software Architecture: Generating the C4 Model and Views from Code
Rational Magic (2023)
Article URL: https://www.thenewatlantis.com/publications/rational-magic
Comments URL: https://news.ycombinator.com/item?id=47035705
Points: 1
# Comments: 0
Show HN: A "content compiler" that turns LLM output into validated artifacts
Most AI tools generate text. Very few generate finished artifacts you can ship.
I expected the hard part to be prompt engineering. It wasn't. The hard part is what happens after generation: enforcing structural invariants so the output is actually usable -- every section present, no "coming soon" placeholders, no layout that falls apart at export time.
I ended up treating LLM output the way a compiler treats source code: intent goes in, validated artifacts come out, deterministic rules sit between the model and the user.
Live at https://gixo.ai -- sample outputs on the homepage, no signup required. This post is about the engineering, not the product.
--
STYLE GUIDES AS COMPILER RULES
Every content type has a typed style guide -- required sections, structural constraints, quality checklists, which elements are mandatory vs. negotiable. Transformations between types (blog post to video script, guide to checklist) carry a Confidence score and explicit LostElements so the user knows what the conversion costs.
The LLM is the code generator. The style guide is the type system. Output that doesn't satisfy the constraints fails -- a presentation deck missing its title slide or section dividers triggers bounded regeneration rather than silent acceptance.
WHY BLAZOR SERVER?
SignalR gives me real-time push for free, and server rendering means I access the database and message bus directly -- no separate API gateway.
The tradeoff: every user holds an open WebSocket. For a content tool where users are actively editing, the connection is already there and I use it for everything -- progress updates, collaboration, AI streaming.
The non-obvious gotcha: when a Blazor Server component calls its own /api/ endpoint, the request doesn't carry the browser's cookies. I had to write a DelegatingHandler that forwards the auth cookie from the inbound HttpContext onto the outgoing request. Without it, every internal API call returns 401. I struggled to find clear documentation for this pattern.
AUTHORIZATION WITHOUT [AUTHORIZE] SPRAWL
Once you have dozens of controllers, policy decorators become invisible. I replaced them with a single middleware scoped to API routes that separates two concepts:
1. Permission (role-based): "Is this user allowed to do this?" 2. Entitlement (subscription-based): "Has this user paid for this?"
If the entitlement service isn't registered in production, the middleware denies access rather than silently making paid routes free. Fail-closed on billing -- you only add that after you discover the alternative.
THE OPS LESSON THAT COST ME A WEEKEND
Azure App Service recycles containers. If your DataProtection keys live in memory, every restart invalidates every auth cookie. The symptom: infinite login redirect loop plus a SignalR disconnect storm. I lost a weekend to this. Fix: persist keys to durable storage outside the container.
Separately: I applied rate limiting globally and immediately broke every real-time feature. It now excludes WebSocket paths.
HONEST TRADEOFFS I HAVEN'T FIXED
Auth is overengineered. Multiple generations of authentication coexist -- cookie sessions, JWT flows, two identity enrichment paths. An internal audit calls it "overengineered in practice." I haven't consolidated because the current system works and touching auth is terrifying.
CI doesn't gate on tests. Build-and-deploy, not build-test-deploy. There are multiple test projects, but they don't gate deployment yet.
Observability is incomplete. Structured logging is solid. Distributed tracing is on the list, not in the code.
--
Happy to answer questions about the architecture, the tradeoffs, or any of the things I got wrong.
Comments URL: https://news.ycombinator.com/item?id=47035701
Points: 1
# Comments: 0
Lindenmayer.jl: Defining recursive patterns in Julia
Article URL: https://cormullion.github.io/Lindenmayer.jl/stable/
Comments URL: https://news.ycombinator.com/item?id=47035698
Points: 1
# Comments: 0
UK Discord users were part of a Peter Thiel-linked data collection experiment
VX7 – Open-source Yamaha DX7 emulator written in Python
Article URL: https://github.com/gpasquero/vx7
Comments URL: https://news.ycombinator.com/item?id=47035663
Points: 2
# Comments: 2
Claude Code Templates
Article URL: https://www.aitmpl.com/agents
Comments URL: https://news.ycombinator.com/item?id=47035652
Points: 2
# Comments: 0
Show HN: AILA – Local-first autonomous agent with zero-remote-override
Article URL: https://www.institutionofinnovation.com/
Comments URL: https://news.ycombinator.com/item?id=47035651
Points: 1
# Comments: 1
Free self-service RabbitMQ health check (no access required)
Article URL: https://seventhstate.io/rabbitmq-health-checks/
Comments URL: https://news.ycombinator.com/item?id=47035618
Points: 1
# Comments: 1
The Cassandra of 'The Machine'
Article URL: https://www.thenewatlantis.com/publications/the-cassandra-of-the-machine
Comments URL: https://news.ycombinator.com/item?id=47035615
Points: 1
# Comments: 0
Pentagon Threatens Anthropic Punishment
Article URL: https://www.axios.com/2026/02/16/anthropic-defense-department-relationship-hegseth
Comments URL: https://news.ycombinator.com/item?id=47035607
Points: 1
# Comments: 2
Qwen 3.5
Article URL: https://qwenlm.github.io/blog/qwen3.5/
Comments URL: https://news.ycombinator.com/item?id=47035602
Points: 1
# Comments: 0
Show HN: Axel – native macOS app with a Rust CLI to orchestrate agents
Article URL: https://github.com/txtx/axel-app
Comments URL: https://news.ycombinator.com/item?id=47035599
Points: 1
# Comments: 0
Why LLMs keep editing the wrong file
Article URL: https://hugodaniel.com/posts/why-llms-keep-editing-the-wrong-file/
Comments URL: https://news.ycombinator.com/item?id=47035596
Points: 1
# Comments: 0
Why AI still behaves like a rationed resource?
Article URL: https://ilicigor.substack.com/p/the-scarcity-trap-why-ai-still-feels
Comments URL: https://news.ycombinator.com/item?id=47034920
Points: 1
# Comments: 1
StreamFast ESSD and the Open Flash Platform
Article URL: https://www.blocksandfiles.com/ai-ml/2026/02/10/streamfast-essd-and-the-open-flash-platform/4090309
Comments URL: https://news.ycombinator.com/item?id=47034919
Points: 1
# Comments: 0
3D Printing Pneumatic Channels with Dual Materials for Soft Robots
Article URL: https://hackaday.com/2026/02/13/3d-printing-pneumatic-channels-with-dual-materials-for-soft-robots/
Comments URL: https://news.ycombinator.com/item?id=47034911
Points: 1
# Comments: 0
Moore and Mealy Model in System Verilog (2025)
Article URL: https://medium.com/@jawadahmed2k3/moore-and-mealy-model-in-system-verilog-aba19be15b42
Comments URL: https://news.ycombinator.com/item?id=47034887
Points: 1
# Comments: 0
Show HN: Kai – A Telegram bot that turns Claude Code into a personal dev asst
I built Kai because I wanted Claude Code's full capabilities - shell access, file editing, git, web search - available from my phone, without being tied to a terminal.
Kai is a Telegram bot that wraps a persistent Claude Code process. You send messages in Telegram, and Claude responds with full tool access: it can read and edit files, run commands, manage git branches, search the web, and work across multiple projects. Responses stream back in real time. Everything runs on your own machine.
*How I actually use it:* I point Kai at a project workspace and use it as a dev assistant. It has the full context of whatever repo it's looking at - it can read and write code, check git status, run tests, make commits. Switching between projects is a Telegram command. I can be away from my desk and tell it "fix the failing CI on the web repo" or "add input validation to the signup form" and it just does it.
*Background:* I originally ran an instance of an open-source bot framework, but shut it down after a few days due to security concerns. I rebuilt from scratch on top of Claude Code's CLI, which handles sandboxing and tool execution properly.
*No AI API keys required:* Kai doesn't call the Anthropic API directly - it wraps a logged-in Claude Code session, so there are no API keys to manage and no per-token costs beyond your existing Claude Code subscription. The original design eliminated all API keys after security problems with another bot framework that managed them insecurely. Now that Kai runs on a trustworthy local foundation, optional service integrations are safe.
*Privacy angle:* Kai runs locally - on a Mac mini in my case. Conversations, credentials, and project files never leave the machine. There's no server component, no cloud relay. Your Telegram messages go to your machine, and Claude Code handles the rest through Anthropic's API directly.
*External services without MCP:* Kai has a declarative HTTP service layer for connecting to any REST API. You define services in a YAML config - URL, method, auth type - and Kai makes the HTTP calls directly. No plugins, no third-party server processes, no executable code. API keys stay in your `.env` and are never touched by intermediary code. Ships with a Perplexity config for web search, but the same pattern works for weather APIs, notification services (Pushover, ntfy), home automation, translation, or anything else with a REST endpoint. Entirely optional - Kai works fine without it.
*Some things it can do:*
- Connect to external REST APIs via declarative config (search, weather, notifications, etc.) - Transcribe voice messages locally (whisper.cpp) and respond with voice (Piper TTS) - Run scheduled jobs and reminders - Receive GitHub webhooks (push, PR, issue notifications) - Stream responses in real time (message updates every 2s) - Switch between workspaces and models via Telegram commands
It's a single Python package, about 1700 lines across 11 modules. Runs as a launchd/systemd service. Setup is: clone, pip install, set two env vars (Telegram token + your user ID), and `make run`.
Repo: https://github.com/dcellison/kai
Happy to answer any questions about the setup or architecture.
Comments URL: https://news.ycombinator.com/item?id=47034875
Points: 1
# Comments: 0
Atom – Hydrogen Quantum Orbital Visualizer
Article URL: https://www.kavang.com/atom
Comments URL: https://news.ycombinator.com/item?id=47034853
Points: 1
# Comments: 0
