Co-founder, Ouro Labs · Core Maintainer, Ouroboros
I build tools and protocols for human–AI collaboration.
My work asks a practical question: how can AI make human judgment easier to examine, test, and act on while keeping people responsible for their decisions?
Ouroboros · ⭐ 6.3k — Core Maintainer
Open-source Agent OS for Specification-First AI Software Development
I am a core maintainer of Ouroboros and a co-founder of Ouro Labs. My work focuses on turning ambiguous human requests into explicit specifications (Seed), coordinating multi-runtime agent execution, and preserving verifiable evidence so people can audit the outcome.
- Verification & Evidence Integrity: Binding file-modification claims to observed tool-call receipts, isolating source checks from runtime assertions, and rejecting malformed semantic evaluation scores.
- Execution & Lifecycle Recovery: Background-job polling and recovery, cancellation lifecycle management, checkpoint compatibility, and unified runner assembly.
- Multi-Runtime Adapters & Diagnostics: Zcode runtime and LLM adapters, Antigravity stream normalization, provider routing across OpenAI/Anthropic/Gemini, and
doctorMCP/installation probes. - Intent Alignment & Drift Control: Structured ambiguity ledgers (
B2), semantic goal-drift checks, unanswered interview round floors, and locale-independent UTF-8 handling.
👉 All 53 merged PRs in Q00/ouroboros
Selected Ouroboros contributions by subsystem
| Area | Scope | Merged PRs |
|---|---|---|
| Verification & Evidence | Bound pathlib write claims to execution records; linked wrapper test receipts to accepted Bash attempts; separated source checks from runtime assertions; captured native tool evidence; rejected malformed semantic scores. |
#1764, #2639, #2640, #2745, #2749, #2758, #2842 |
| Orchestrator & Job Recovery | Hardened MCP background-job polling and recovery; recovered artifact contracts and QA environments; extracted Phase 3 cancellation lifecycle; unified public run builder assembly; bounded workspace fingerprint scans. | #1622, #1630, #2567, #2635, #2636, #2637, #2638, #2746, #2748 |
| Runtime Adapters & Diagnostics | Implemented Zcode runtime backend and LLM adapter; built installation doctor and local stdio MCP probes; hardened Codex cold starts and locale-independent UTF-8 seed/source decoding. |
#1568, #1595, #2034, #2406, #2411, #2420, #2499, #2564, #2846, #2847, #2860 |
| Intent Alignment & Routing | Built typed ambiguity evidence ledger (B2); floored ambiguity for unanswered interview rounds; semantic goal-drift checks; quality-first model routing and OpenAI/Anthropic/Gemini compatibility. |
#2415, #2417, #2642, #2643, #2660, #2668, #2669, #2673, #2819 |
| Additional & Recent Merged PRs | Continuing maintenance across CLI, runtime adapters, docs, and verification checks. | #2776, #2647, #2646, #2645, #2644, #2641, #2634, #2633, #2632, #2631, #2630, #2629 |
|
Local-first decision records & prospective judgment analysis Records consequential choices as structured |
Counterfactual human perspective simulator An exploratory simulation of 30 fictional agents across four structural layers ( |
Decision-support & action-promise protocol Helps turn an unstructured personal concern into separated facts vs. assumptions, a provisional decision, and a concrete next action ( |
- 말결 (Malgyeol) (with SergioBuilds) — Bounded agent-payment infrastructure connecting human purchasing intent with policy checks, explicit consent gates, and auditable payment evidence.
- FlashPatch (with SergioBuilds) — Open-source visual safety QA pipeline for detecting potentially hazardous photosensitive flashing in media, applying scoped repairs, and recording verification evidence.
codbeing (Record & revisit judgment without hindsight distortion)
│
├──► Pullim (Separate facts from assumptions & commit to a next action)
├──► 30p / Human30 (Explore how choices branch under different conditions)
│
▼
Ouroboros (Specify intent as a Seed, execute across runtimes, and verify with evidence)
Across these projects, I am interested in systems where AI helps people see, challenge, and improve their reasoning while they remain accountable for the final decision.
Beyond my own projects and Ouroboros, I contribute bug fixes, parser/protocol compliance patches, input-validation guards, and regression tests across open-source projects in C, Python, TypeScript, JavaScript, and SQL:
| Project | Stars | Stack | Merged Contributions |
|---|---|---|---|
| Oh My ClaudeCode (OMC) | ⭐ 40.8k | TypeScript |
Preflight context-threshold validation and read-budget env override guards preventing malformed values from silently activating (#4069, #4070, #4071) |
| Oh My Codex (OMX) | ⭐ 33.8k | TypeScript |
Stripping OSC terminal-control sequences from notification text and surfacing resolved config paths in doctor (#3691, #3693, #3694) |
| OpenCodex | ⭐ 18.4k | TypeScript / Bun |
Portable Bun test batch execution for macOS environments without GNU timeout (#5456) |
| Pillow | ⭐ 14.0k | Python / C |
Raising SyntaxError when a SPIDER image within a stack is opened directly (#10425) |
| LZ4 | ⭐ 12.8k | C |
Making lz4cli --stdout and --to-stdout flags consistently enable pass-through mode like -c (#2062, #2075) |
| SQLFluff | ⭐ 10.0k | Python |
Hive dialect GROUP BY grammar support for trailing WITH ROLLUP and WITH CUBE clauses (#8974) |
| buku | ⭐ 7.3k | Python / SQLite |
Escaping SQL LIKE wildcards (_ and %) in --deep and tag search queries (#915) |
| Trafilatura | ⭐ 7.1k | Python |
Guarding baseline JSON extraction against Discourse topics whose posts field is not a list (#1088) |
| user-scanner | ⭐ 5.6k | Python |
Resolving non-stem validator names in library mode and rejecting malformed open CLI ranges missing an end bound (#772, #773) |
| lancet | ⭐ 5.3k | Go |
16 merged PRs including #413, #414, #415, #416, #417 (All 16 merged PRs) |
| ThinkJS | ⭐ 5.3k | JavaScript |
Fixing requiredWith validator method leakage, escapeHtml " entity encoding, and shared router default mutation (#1792, #1793, #1794) |
| Gajae Code | ⭐ 3.1k | TypeScript |
24 merged PRs across provider stream/abort controls, SSE/EditorConfig/Markdown parsers, CLI/TUI handling, and session analytics (All 24 merged PRs) |
All 24 merged PRs in Gajae Code
- AI Provider Streaming, Cancellation & Retry Controls:
- Honor retry headers before consuming error bodies (#7588)
- Parse SSE carriage-return (
\r) line endings accurately (#7597) - Honor request controls in GitLab Duo direct access (#7366) and clean up Ollama NDJSON response readers (#7368)
- Observe rejected promises on pre-aborted timeout signals (#7347, #7362) and accept
kiro-codewhisperer-streamin config API enums (#7581)
- CLI, TUI & Parser Fidelity:
- Preserve caller
argvwhen parsing inline CLI option values (#7367) - Strip terminal control sequences from status-line text (#7344) and preserve pre-yank text when cycling combining characters in TUI (#7349)
- Respect explicit
EditorConfigtab_width/unsetand..section matching (#7346, #7592) - Preserve literal content inside Markdown fences (#7348)
- Preserve caller
- Built-in Tools, Archive Indexing & Session Analytics:
- Match Vixie cron day-field semantics for stepped-star expressions (#7578) and accept signed exponent operands in
calc(#7579) - Preserve TAR directory/duplicate-file index fidelity (#7370) and
Object.prototype-named keys in root JSON previews (#7369) - Attribute managed sessions to recorded working directories and preserve stats labels/entries (#5780, #7350, #7351, #7364)
- Validate custom-provider recipes with production loader and retain runtime Markdown consumer tests in CI PR plans (#7352, #7353, #7363)
- Match Vixie cron day-field semantics for stepped-star expressions (#7578) and accept signed exponent operands in
Merged PR counts and repository star snapshots are synced automatically via GitHub Actions.



