AI agent infrastructure engineer @ LG Electronics.
I build harnesses that turn LLMs into reliable workers — not advisory .md files, but hooks that exit 2 when something is wrong.
🧪 Tech blog · 📓 Notes blog · 🛠️ Mir Harness
A year of running 15+ Claude Code agents taught me one thing: .md files are not enforcement. An agent that "should not" do X will do X the moment it's convenient. The fix is not better prompts — it is hooks that block at exit 2, tool contracts that refuse invalid inputs, and a memory layer the agent cannot lie about.
So I built Mir Harness — a meta-harness that generates harnesses. One source of truth, two CLIs (Claude Code + Codex), a fleet of 17 agents running off shared contracts. Every load-bearing pattern traces back to its OSS source. Nothing is advisory.
Mir Harness — enforcement-first AI agent harness
A harness for the Claude Code + Codex CLI pair where the rules are code, not advice. Hooks block bad commits at the gate. One source of truth drives both CLIs. A fleet of 17 specialized agents runs off shared contracts.
router-control — LLM routing proxy
Profile-based model selection, fallback chains, and an OpenAI-compatible chat API. TypeScript.
agent-cli-starter — minimal Claude/Codex starter
One source of truth, two CLIs. One-command migration between Claude Code and Codex.
- Enforcement, not advisory — gates that actually fire (
exit 2from hooks), not.mdfiles agents can ignore - One source of truth, two CLIs — Claude Code and Codex sharing hooks, memory, profiles, agents
- Fleet coordination — 17 agent families running off the same harness contracts
- Apple Silicon native — oMLX (bge-m3), sqlite-vec, local embeddings — no cloud dependency for memory
- Borrow-first design — every load-bearing pattern traceable to its OSS source (
BORROWED-FROMblocks)
Real-time log of what's shipping. Updated as I push.
- 2026-05-20 P10–P14 series complete · ADR-10/11/12/13/14 accepted · 1770+ tests passing · 7 measure axes + 1 usage axis live
- 2026-05-19 Bootstrapped 17th family
musinsa-brand(greenfield code_app) - 2026-05-19 Released
claude-codex-harness— public template for the enforcement-first harness - 2026-05-12 Extracted
router-control-publicas a standalone repo - 2026-05-11 ADR-07 review-gate Tier 1+2 landed — six silent-failure brakes for autonomous mode
- 2026-05-09 P0-A through P0-K phase ledger complete — 13-family TDD enforcement, profile_compiler artifacts A–J, mir_executor MVP
- Bounded autonomy — how far can an AI agent run before a human has to step in? Mir's review-gate tier system is my attempt at the answer.
- Borrowing > inventing — the best engineers I know steal good patterns shamelessly and credit them. Every Mir module ships with a
BORROWED-FROMblock pointing at its OSS origin. - Apple Silicon as a real platform — local embeddings via oMLX, sqlite-vec for vector memory, no cloud round-trip. The latency budget changes everything.
LG전자에서 일하는 엔지니어. 1년간 Claude Code 에이전트 15+ 개를 운영하며 깨달은 것: .md 파일은 강제가 아니다. 그래서 hook 과 tool contract 로 진짜 막는 하네스를 만들기 시작했습니다.
- Mir Harness — Claude Code/Codex 에이전트 17개를 하나의 하네스에서 운영. 권고가 아니라 강제(
exit 2hook + tool contract)로 막는 구조. - 포커스 — Claude Code + Codex CLI 동시 운영 · MCP/SQLite/oMLX 기반 로컬 메모리 · exit-code 기반 hook enforcement · OSS 차용 우선 설계.
- 블로그 — 기술 · 작업 노트
- 공개 작업물 —
claude-codex-harness,router-control-public,agent-cli-starter
이 README 도 Mir Harness 의 산물입니다. Last shipped: 2026-05-20.