Ryosuke Tsuji

Author profile

Ryosuke Tsuji

I'm CTO at airCloset, Inc. airCloset is Japan's leading fashion rental subscription service.

@ryantsujiShibuya, Tokyo, JapanWebsiteView on DEV

Articles by @ryantsuji

Browse the latest writing surfaced through DevArt.

Observability Design for the AI Era — Application / Infrastructure / CI / LLM, Each in Its Own Shape (Part 1)
#ai#mcp#observability#typescript

Observability Design for the AI Era — Application / Infrastructure / CI / LLM, Each in Its Own Shape (Part 1)

The previous code-graph series was about reshaping a static analysis graph so AI could query it. The same kind of reshaping is needed on the observability side. This post walks through four axes — application / infrastructure / CI / LLM — and the deliberately different shapes each one ends up in. The design judgments worth calling out: computing Gemini cost client-side instead of from billing API, sending Claude Code OTel straight to BigQuery instead of Loki, and shipping CI logs via post-hoc pull instead of webhook push.

Ryosuke TsujiRyosuke Tsuji11 min read
21 reactions15 commentsRead full article
Making the Context Across 46 Repositories Semantically Searchable for AI (Part 2)
#ai#knowledgegraph#staticanalysis#typescript

Making the Context Across 46 Repositories Semantically Searchable for AI (Part 2)

The biggest issue Part 1 left open was that AI couldn't reach the 46-repo codebase by natural-language query (the entry-point problem). This post is how I solved it — by reusing the pattern proven in db-graph (1,133-table semantic search), then layering minimal annotations only around boundary nodes. Covers the separate-branch operation that keeps engineers' daily workflow untouched, the SLO that protects the joins between three graphs, the SAME_ENTITY normalization, and the April–May trial-and-error timeline traced through real commits.

Ryosuke TsujiRyosuke Tsuji12 min read
22 reactions30 commentsRead full article
Building One Knowledge Graph Across 46 Repositories With Static Analysis (Part 1)
#ai#knowledgegraph#staticanalysis#typescript

Building One Knowledge Graph Across 46 Repositories With Static Analysis (Part 1)

A static-analysis approach to unifying 46 repositories (37 air-closet-side + 9 mall-side) of legacy production code into one knowledge graph. Why simply 'letting AI read the code' isn't enough, why I had to chase down boundary nodes (API endpoints, DB tables, Event topics), how I dealt with framework and library diversity, and what 3 months of trial and error solved or didn't solve — looking back through actual git history.

Ryosuke TsujiRyosuke Tsuji13 min read
21 reactions9 commentsRead full article
AI Isn't Something to Trust — It's Something to Design (Series Final)
#ai#architecture#devops#engineering

AI Isn't Something to Trust — It's Something to Design (Series Final)

Series Final. The four mechanisms covered across this series — knowledge graph, Auto Review, Self-Healing, Recurrence Prevention — plus the non-engineer-PR application that sits on top of them, all hang off a single conviction: AI isn't something to trust; it's something to design. The 'I don't trust AI to fill in the blanks for me' framing this lives inside isn't doubt about generation quality, but the clear-eyed acceptance that AI has no idea what context wasn't handed to it, and that 'ideal behavior with no spec given' is a fantasy. The starting point goes back to 2025, when I was trying to figure out how to make AI actually understand a large codebase — and ran into walls on both context window scaling (lost in the middle, attention dilution) and learning-based approaches (machine unlearning, destructive interference). GraphRAG + MCP became the way out: hand AI only the facts it needs, when it needs them, so it doesn't have to infer. From code-graph (which I burned two months on and threw away) to the current product-graph (cpg). This piece is the philosophy and the trial-and-error behind the whole series: harnesses confine where hallucinations are allowed to happen, design is translating principles into your own use cases, and Coverage 90% as a solo target breaks the implementation.

Ryosuke TsujiRyosuke Tsuji20 min read
28 reactions15 commentsRead full article
The Author Doesn't Have to Be an Engineer: How the Harness Holds Quality (Series Part 5)
#ai#devops#engineering#github

The Author Doesn't Have to Be an Engineer: How the Harness Holds Quality (Series Part 5)

Series Part 5. With the harness handling quality at the gate, the people closest to the requirements -- business-side managers, PMOs -- now open PRs to production directly, no engineer in between. Two recent examples (a deep root-cause fix and a +1,742 line feature build), the boundary of what they can and can't take on (anything on top of an existing stack vs. standing up new infrastructure), why it holds (the four mechanisms from Parts 1-4), and how the pattern carries over to consumer-facing services.

Ryosuke TsujiRyosuke Tsuji16 min read
19 reactions31 commentsRead full article
Fixed Before Anyone Notices, Stronger After Every Fix: Self-Healing + Recurrence Prevention (Series Part 4)
#ai#devops#github#observability

Fixed Before Anyone Notices, Stronger After Every Fix: Self-Healing + Recurrence Prevention (Series Part 4)

Series Part 4. Production alerts trigger AI investigation, fix PR, auto-review, auto-merge, auto-redeploy. The same fix PR is required to add a new Guide -- a lint rule, CI guard, type constraint, or guideline entry -- so the same anti-pattern gets auto-rejected from then on. 115 Self-Healing PRs merged in the past 30 days, and the quality gates compound over time.

Ryosuke TsujiRyosuke Tsuji22 min read
12 reactions0 commentsRead full article
Human-on-the-Loop: AI Reviewing AI PRs at cortex -- 769 PRs/month while raising the quality bar (Series Part 3)
#ai#codereview#devops#productivity

Human-on-the-Loop: AI Reviewing AI PRs at cortex -- 769 PRs/month while raising the quality bar (Series Part 3)

Series Part 3. The common critiques of AI-assisted development -- 'review becomes the new bottleneck' and 'AI code drops the quality bar' -- largely don't apply when AI also does the reviewing. Full walkthrough of our pipeline: webhook -> cpg context -> AI review with [Graph]/[Doc]/[Impact] tags -> auto-fix by a separate AI -> re-review -> auto-merge -> parallel deploy. 769 PRs merged in 30 days, human review involvement per PR is near-zero.

Ryosuke TsujiRyosuke Tsuji19 min read
12 reactions15 commentsRead full article
Ryosuke Tsuji developer articles | DevArt