Case study · Practice checked 2026-10-15

One engineer, an agent team.

AI agents carry implementation, independent review, risk-selected verification and bookkeeping. I own product direction, priorities and bounded authority—not every engineering decision.

Mingyun Chae · Senior Backend & AI Agent Platform Engineer · GitHub profile · TriAstra · historical/synthetic reference code
~1,700
registered users reported as of 2026-10-07; not active or paying users
~2 h
reported median from report to fix across 24 bugs, 2026-09-07 through 2026-10-08
7 locales
web and ChatGPT app in the 2026-10-07 product snapshot
~1 in 5
reviewed PRs reportedly sent back before merge as of 2026-10-08

Measurement limits. User, bug-time and review-return figures are approximate historical reports from private operations, not publicly verifiable measurements. Their original counting rules are unavailable; the bug-time endpoints and review-return inclusion rules are not established, so these are not precise benchmarks.

No merged PR titled "Revert" among 249 PRs merged during 2026-09-11 through 2026-10-08 (UTC dates). The count from the private product repository's GitHub search includes all authors and dependency bots: with repository access, search with is:pr is:merged merged:2026-09-11..2026-10-08 via gh api search/issues and read total_count (249); adding in:title Revert returns 0. Only someone with repository access can rerun this count. Dates are inclusive UTC calendar days. This title search does not prove that no changes were reverted or that no regressions occurred.

Supporting activity context, not a success measure: 34–45 PRs merged per day during 2026-10-03 through 2026-10-06 (UTC days; the same all-author GitHub merged-date definition). These historical observations do not measure the effect of the newer workflow.

Independent review changes outcomes

Independent review caught a privacy problem in a chart-calculation-range fix before merge. In a separate October 2026 billing case, a browser agent's test-mode refund E2E showed that refunded reports continued generating; an author added regression coverage and fixed the behavior, a separate reviewer checked it, and the fix reached production. These are distinct examples of the process, not interchangeable evidence.

The billing case predates standing release authority. Its original Owner approvals are history, not today's deployment rule. Requested changes, author repairs and independent delta review—not rubber-stamp approvals—are part of the delivery loop.

1. Owner attention is the scarcest resource

The repository contract makes decision rights explicit. Architecture-level choices are delegated; my involvement is discretionary, not a mandatory gate.

DecisionAuthority
Technical design, root-cause scope, refactoring, slicing, test strategy and task orderAgent decides and reports why
Tooling recovery, Issues, branches, worktrees, PRs, docs and rule updatesAgent acts within scope, then records
Independently reviewed, verified code merge and criteria-based reconciliationStanding task authority; original local-only, PR-only or review-only limits remain binding
Ordinary exact-main-commit production releaseRELEASE releases only on defined release triggers, never per merge, under bounded standing approval, with readiness, full-gate evidence and postcheck; no per-commit prompt
Money, live payments, stores, external sends, production data/Ops actions, accounts, credentials and boundary-crossing releasesExplicit applicable Owner approval; code merge does not grant it
Product direction, pricing, legal/policy facts and scope expansionOwner decides once; independent authorized work continues
Wording in all seven locales, including KoreanAI-managed independent exact-text-hash review; not an Owner copy-review gate

2. The current native system

Five long-lived OMP root roles work one canonical GitHub queue. Role ownership is not proof that all sessions are currently running.

Ownerproduct, priorities, bounded authority

Delivery and release

  • LEADER & DELIVERY: admission, coordination and cross-root integration conflicts; may integrate any authorized PR. Retires merged worktrees only after the lane's current writer performs owner-checked incremental cleanup and merged-PR identity and clean-state checks pass, never by age
  • RELEASE: exact-commit readiness, ordinary releases within standing approval, and approved release/store evidence

Discovery and operations

  • DISCOVERY: audits, evidence-backed Issues and authorized direct fixes with independent exact-diff review
  • OPS & GROWTH: analytics, support preparation, content and campaign work, plus cross-root workflow and operations improvement (ops tooling and workflow/testing docs through independently reviewed PRs). LEADER keeps queue and procedure rule decisions; changes to a root's scripts need that root owner's review; only exact approved external effects

Migration and bounded slices

  • BILLING MIGRATION: migration scope, handing support and release to their owning roots
  • Bounded subagents, live host limits and measured memory/disk headroom, read fresh before each heavy start and sized per workload class, not a fixed global cap or worker count
  • One writer per branch and generated surface; authors own checks, commits, push and PRs
Canonical GitHub Issues · PRs · Project · no extra dispatcher, queue ledger or timer scheduler

Authoring roots may integrate their own independently reviewed PRs; LEADER may integrate any authorized PR and resolves cross-root conflicts. RELEASE may also integrate release-path PRs from any author and notifies LEADER.

Before sorting or admission, each candidate gets a compact evidence-backed product judgment in its existing Issue or PR: user harm and trust, core user value, the current journey bottleneck, affected scope with observed versus inferred evidence, and end-to-end completion cost and recurring value. The goal is observed useful user outcomes and recurring operational value, not PR or worker counts; a PR's age or sunk effort is not value.

Admission follows actual progress. Finish actionable existing PRs before ordinary new implementation, then admit eligible independent Issues. Admission follows actual assigned-task progress, dependencies, writer custody and effective host capacity. Distinguish working, waiting, idle and unknown. Silence does not terminate a writer or transfer custody. Record a blocked item's resumption condition and continue other authorized work.
Observation-only holds. Landed code, released code and observed outcomes are distinct states. Keep an observation-only Issue open with its window and due check; admit the check, not another implementation attempt.

Browser and peer messages. A browser teammate handles authorized test-mode E2E flows, locale/UX audits and read-only dashboards. Browser communication uses a file mailbox and notification relay. Coding sessions use direct addressed delivery between sessions, with recipient liveness checks and no browser relay. Messages use Request / Result / Next / Action required sections and carry no authority; pure FYI belongs on the owning Issue or PR, not in the mailbox. Durable decisions and evidence belong there too. The two transports are different mechanisms, not evidence of an identical end-to-end benchmark.

How it evolved — October 2026. Earlier work ran in the Codex CLI and Claude Code, then OMP and jcode; today OMP is the only coding host, routing OpenAI and Anthropic models by role. The timer-driven pool and privileged dispatcher were retired. Separate verifier replay and per-deploy approval are historical. The public kit is a historical/synthetic reference with reusable lease, guards, governance checks and navigation evaluation mechanisms—not the current workflow or a demonstrated OMP adapter. Synthetic tests do not establish live sandbox containment.

3. Gates that make speed safe

Targeted proofSelect regressions and actual changed-path smoke by risk and affected consumers; self-review and rebase as needed.
Independent fixed-pair reviewA distinct read-only session reviews exact head/base commits and the predicted merge tree, including newly tracked files and integration interactions.
Full gate once, lastResolve findings first. Run the required broad gate on the final reviewed head; no extra verifier merely to repeat another lane's suite.
Qualified evidence reuseInspect original logs and prove relevant inputs equivalent. Retain the original tested commit and disclose warm-binary reuse. Changed inputs or uncertainty require affected checks again.
Pinned integrationOutside the lock, freeze the reviewed head, admitted base, predicted merge tree and any extension certificate in a plan; reject duplicate database-migration versions across the reviewed head and live main. Inside a short fail-closed main lease, execute one head-pinned squash. Count a merge only when its single parent equals the admitted base, its tree equals the prediction and the branch ref reads back as the squash commit. Ambiguous attempts retain the lock for reconciliation, not retries. Releases use a separate lock and pinned checkout with their own exact-commit gate evidence and postcheck. Native tool locks and per-workload headroom replace retired Cargo-slot caps.
A changed head needs fresh independent review. A changed base keeps the verdict only when the reviewer's transitive invalidation set is untouched, there are no conflicts, and relevant inputs remain equivalent; record the exact live-base/tree certificate. Otherwise the base move needs independent delta review. P1/P2 findings need a plausible reachable consumer or caller path; a reviewer-proven false PASS against a gate's promised contract blocks merge even if today's inputs do not trigger it. Required independently observed changed-path proof still matters. Missing, failed or interrupted evidence blocks admission. Record executed checks, reused evidence and remaining gaps separately; no unmeasured speedup is implied.
Before runtime. Typed contracts, generated-client freshness, owning tests and actual-surface visual proof cover relevant risks. Inventory which gate executes each test and its explicit exclusions.
AI-managed locale quality. All seven locales, including Korean, start from locale-neutral meaning and require independent exact-text-hash PASS + LLM_CRITIQUED. Sensitive copy also needs domain review; pricing, legal and policy facts retain their owners.

4. Context tools are leads, not evidence

Confirm callers and impact in source, rather than trusting an index.

Local code-intelligence tools help find symbols, calls, imports and routes. Pin tools and keep secrets and private data outside their read boundary. Harness configuration is not an OS sandbox.
8.5%
route-to-handler recall (31 of 364), measured on 2026-10-03 against a pinned third-party code-graph tool on the private product repo, traced to an upstream multi-line-route defect. The kit's synthetic evaluator demonstrates the method; it does not reproduce this number.

5. Same principles, client context

On an existing client codebase, bounded authoring and independent review turned a manual workflow into working server-backed, role-based interfaces.

Work included scheduling, booking locks, rescheduling, time-zone handling, authentication and access controls, and retiring a legacy UI. Location, engagement duration, exact interface/PR counts and ratings are intentionally omitted.
A client-specific pre-merge E2E smoke gate checked the working path; it is not the product's broader cross-language static gate. Deployment responsibility stayed split between my development environment and the client's release owner.

6. Upstream fixes found by dogfooding

Running many concurrent agent sessions on one machine stresses the harness itself. Harness defects get the same treatment as product defects: reproduce, isolate, fix with a regression, send upstream.

Shell built-ins blocking their own input producer (oh-my-pi #15501). read line < <(cmd) could hang because the read blocked the runtime worker before the producer ran; the same hang stalled a live agent shell command on 2026-10-14. The maintainer's #15509 landed the read deadlock fix and its single-worker regression, graciously crediting my original patch. My #15504 was narrowed in review to a regular-file fast path and merged. The mapfile/readarray fix #15647 remains open, with a single-worker regression that timed out before the fix and passes after it.
Configuration and worktrees. A proposed config-save fix reports the persisted value it replaces (#15478, open), not the session override. Reported: clone-first worktrees copying gitignored secrets such as .env (#15476) and per-worktree build-cache clones exhausting disk (#15475). In jcode, contiguous TUI typing became one undo step (#1714) and CI formatting was restored (#1739).

Status as of 2026-10-15: oh-my-pi #15504 and #15509 merged and #15501 closed; #15647 open in maintainer review; #15478 open with no maintainer review yet; jcode #1714 and #1739 merged. Each pull request records the reproduction, the scenario exercised and the checks run.

Historical visual evidence

This historical blueprint contains obsolete approval rules. The current text, not the image, describes today's operating contract.

Historical operating blueprint: OpenAI implementation, Anthropic review and small-model lookups in isolated worktrees; Owner architecture and irreversible-action approvals; separate author and read-only reviewer, pinned integration, merge is not deploy; old claims of about 19% sent back and 0/231 reverted, labeled all PRs merged Sep 11 to Oct 8, 2026; a reviewer caught personal details in error reports and the author added a regression in 1 h 16 m
Historical blueprint, not current metric evidence. Role routing and separate author/reviewer sessions remain useful ideas. Mandatory Owner architecture/Korean review and deployment approvals are obsolete. Different-model routing does not substitute for independent fixed-pair review. Its "All PRs" / 231 denominator is unreproduced and inaccurate: the defined UTC count above is 249, with no merged PR titled "Revert". The embedded image text needs regeneration from an editable source, not pixel editing.

Publication hygiene

Before publishing, stage the intended files and run bash scripts/check-publication.sh origin/main (Git and Python 3 only). The pinned pull-request workflow checks staged text, incoming commit trees and messages, and requires GitHub noreply author and committer identities. It rejects non-noreply email addresses and common credential patterns in text. This limited guard does not inspect binary media, detect every secret or remove existing history; public text and images still require human review. Existing history is intentionally unchanged.