Inspiration

Long-running AI coding work rarely fails because an agent cannot generate one more patch. It fails because scope drifts, task windows end, evidence becomes detached from the artifact it proves, retries duplicate side effects, and a green-looking status is mistaken for real completion.

We built LoopSkill to make complex Codex work durable, reviewable, and explicitly finishable.

What it does

LoopSkill is an evidence-bound execution and completion protocol for long-horizon work in the Codex macOS App. It first runs an Intake Gate to decide whether a request should become a Loop at all. Ready requests become a validated Standard or Adaptive Controller Pack with:

  • a read-only Controller plus scoped Worker, Reviewer, and Local Verifier roles;
  • an MCP State Gateway as the only canonical state writer;
  • bounded permissions, budgets, retries, and repair cycles;
  • artifact-bound review and validation evidence;
  • durable outboxes and report recovery that avoid duplicate dispatches;
  • fail-closed transport pause and resume behavior;
  • human Decision Cards bound to the exact goal, dispatch, artifact, review surface, and Controller turn; and
  • one verifiable completion condition: canonical FINALIZATION_ACKED.

Small or underspecified requests are routed to direct execution or clarification instead of being forced into orchestration.

How it works

  1. Intake checks scope, permissions, evidence sources, acceptance criteria, and whether Loop overhead is justified.
  2. Pack generation produces a self-contained work contract with roles, goals, budgets, repair limits, and stop conditions.
  3. Execution routes one exact dispatch at a time through a durable outbox.
  4. Review and verification bind reports and validation files to the current artifact and runtime identity.
  5. Human decisions are registered and applied through the State Gateway, so stale or replayed choices fail closed.
  6. Finalization requires final audit, a real heartbeat pause/readback, and canonical acknowledgement. A review PASS alone is not completion.

Built with Codex and GPT-5.6

LoopSkill existed before OpenAI Build Week and was meaningfully extended during the submission period. Codex was the primary engineering environment; GPT-5.6 supported implementation, incident analysis, test design, documentation, independent review, and release hardening.

The Build Week work progressed from the original submission release through public v3.3.3, adding schema-v3 State Gateway workflows, typed MCP runtime transport, exact-artifact report staging, lost-output recovery on the original outbox, transport pause/resume controls, canonical metrics, and the Decision Gateway for bounded visual review choices.

Real operated case

The strongest new evidence is an authorized, real long-horizon Life Blueprint run on the exact installed v3.3.3 build. In that run:

  • a bounded visual decision was canonically REGISTERED and APPLIED;
  • the final audit passed;
  • the registered heartbeat was paused and read back from the App; and
  • the canonical state reached FINALIZATION_ACKED / LOOP_COMPLETE.

The product work stayed local-only: there was no product commit, push, pull request, merge, deployment, or external write. Private project content is not published; only the privacy-safe outcome and protocol evidence are summarized.

Release evidence

The public LoopSkill v3.3.3 release is bound to protected-main SHA 4a46ae95120dad44a1b2e10f42da4293fbaf4c08.

Release evidence includes:

  • 657 local tests passing with 80.324457% branch coverage;
  • two independent 5,000-case fuzz lanes passing;
  • Skill, specification, schema, installer, risk, secret, and source/install zero-drift checks passing;
  • an independent review with P0/P1/P2 findings at 0/0/0; and
  • exact-tree compatibility CI with 632 canonical tests, 80.091827% branch coverage, both fuzz lanes, Linux/macOS isolated installs, and the final gate passing.

Challenges we ran into

The hardest problems were proving real Codex App task identity, keeping canonical state consistent across retries, recovering reports after lost process output without resending work, preventing old evidence from approving a new artifact, and carrying an explicit human decision across a preview whose loopback port could legitimately change.

The solution was not to invent stronger claims. Unsupported identities and mismatched decisions fail closed with zero canonical side effects. Failed disposable fixtures remain recorded as failures instead of being rewritten as passing evidence.

Accomplishments we're proud of

  • A practical Intake Gate that rejects ceremony when a direct task is better.
  • Deterministic state transitions with leases, journals, outboxes, and idempotent recovery.
  • Review and validation bound to exact artifacts, reports, files, and runtime identity.
  • Human steering that cannot silently rewrite canonical history.
  • Bounded repair that pauses or stops instead of looping forever.
  • A real operated run that reached the same explicit completion contract used by the protocol.

What we learned

Reliable coding agents need protocols, not just stronger prompts. Identity, evidence provenance, side-effect boundaries, human decision integrity, and explicit stop conditions matter as much as model capability.

What's next

Next we want to add a visual pack and evidence inspector, more reusable project templates, stronger App-native receipts when the host exposes them, privacy-safe operated-case metrics, and broader cross-version validation.

Evidence boundary

v3.3.3 is a public, exact-SHA release with strong local, CI, installation, review, fuzz, and real operated-case evidence. We do not claim that one bounded macOS run proves every platform, every Codex version, indefinite unattended operation, or universal production acceptance.

Built With

  • codex
Share this project:

Updates

posted an update

Build Week engineering log — July 19

Today we closed three production-oriented reliability gaps and validated the result on a real authorized long-horizon path.

  • v3.3.1 made target-owned validation files recoverable on the original outbox and made zero-repair policies legal and deterministic.
  • v3.3.2 added ACK_TRANSPORT_RECOVERY, requiring a real ACTIVE heartbeat update/readback before routing resumes.
  • v3.3.3 added the Decision Gateway, binding a user's explicit visual choice to the exact Controller turn, goal, dispatch, artifact, and review surface; stale or replayed choices fail closed.

On the exact installed v3.3.3 build, the authorized Life Blueprint path registered and applied a bounded visual decision, passed Final Audit, paused and read back the heartbeat, and reached canonical FINALIZATION_ACKED / LOOP_COMPLETE. The product remained local-only and private content was not published.

Frozen v3.3.3 evidence: 657 local tests, 80.324457% branch coverage, dual 5,000-case fuzz, independent review 0/0/0, plus exact-tree CI with 632 canonical tests and Linux/macOS install gates.

Releases: v3.3.1, v3.3.2, v3.3.3.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 18

Retrospective post backed by the public v3.3.0 release and exact SHA.

LoopSkill v3.3.0 introduced the schema-v3 architecture. New Adaptive Loops no longer depend on a session-style State-Writer task: the deterministic MCP State Gateway became the sole canonical writer.

It added atomic route preparation, send observation binding, target-owned report staging, original-outbox report recovery, binary-safe complete-diff capture, transport pause handling, successor initialization, and derived metrics. A current PASS now requires the current artifact, current dispatch, and matching formal report; stale or wrong-thread evidence fails closed.

The frozen local gate recorded 650 tests PASS, 80.24% branch coverage, two 5,000-case fuzz lanes, clean install/config identity, and independent review P0/P1/P2 = 0/0/0. Real App evidence covered cross-task verification, report recovery without a second dispatch, transport pause, finalization, and successor handoff.

Release: LoopSkill v3.3.0.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 17

Retrospective post backed by the public v3.2.8 release.

v3.2.8 closed the transport and terminal-state problems found during real Codex App work. Generated Packs moved to the installed MCP runtime_codec for dispatch materialization/verification, formal report staging, external receipt staging, and failure-fingerprint normalization.

The release also:

  • distinguished an empty transport from JSON and payload errors with INPUT_TRANSPORT_EOF_BEFORE_FRAME;
  • aligned terminal projections, paused heartbeat, remaining goals, and next action;
  • retired an unavailable native Goal recovery path as an explicit zero-side-effect fail-closed contract.

Evidence: 605/605 deterministic tests, 80.35% branch coverage, two independent 5,000-case fuzz lanes, independent review P0/P1/P2 = 0/0/0, exact tag identity, zero source/install drift, and a real disposable App canary reaching FINALIZATION_ACKED.

Release: LoopSkill v3.2.8.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 16

Retrospective post; exact commits and release timestamps are public.

We hardened LoopSkill's control-plane identity and installation boundary.

  • v3.2.5 added trusted Codex App turn attestation, one-route-per-real-turn enforcement, authoritative artifact digests, durable lost-output recovery with no resend, atomic projections, safe Pack/heartbeat migration, and exact release/install identities.
  • v3.2.6 removed ambient python3 fallback for generated Adaptive state operations. The runtime interpreter must come from the exact installed MCP registration; a missing interpreter, bridge, schema, or dependency now fails closed as STATE_RUNTIME_UNAVAILABLE.

Acceptance remained layered: exact commit, same-SHA install identity, independent checks, and real App canary evidence were kept separate from GitHub Actions compatibility evidence.

Releases: v3.2.5 and v3.2.6.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 15

Retrospective post backed by the linked release timestamps.

Real operation exposed two accounting and protocol edge cases, and we fixed them without rewriting failed evidence as success.

  • v3.2.3 bound the Worker's execution classification into ACK-ready report staging and added paused-safe reconciliation for already archived misclassifications.
  • v3.2.4 aligned the complete zero-execution blocker set across the runtime, mutation schema, canonical schema, public contract, and generated Packs. It also added a sanitized regression fixture from the real Life Blueprint v208 incident.

The important lesson was that a failed Local Verification, old artifact, or structurally mismatched report must never become PASS merely because later work looks healthy.

Releases: v3.2.3 and v3.2.4.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 14

Retrospective post; release and commit timestamps are public.

Today LoopSkill became formally releasable and substantially safer under transport failure.

  • v3.2.0 added formal versioning, bilingual onboarding, a release procedure, layered CI, dual 5,000-case fuzz lanes, an 80% branch-coverage gate, and macOS installation validation.
  • v3.2.1 replaced unbounded runtime input with a strict UTF-8 frame, a 30-second deadline, a 4 MB ceiling, deterministic error classes, bounded repair exhaustion, and App smoke evidence reaching FINALIZATION_ACKED.
  • v3.2.2 added durable STARTED/COMPLETED external-call receipts, lost-output recovery without automatic retry, atomic Pack migration identity, and one route per real App turn.

Releases: v3.2.0, v3.2.1, v3.2.2.

Log in or sign up for Devpost to join the conversation.

posted an update

Build Week engineering log — July 13

Retrospective post; the linked Git history preserves the original timestamps.

We started Build Week by turning LoopSkill from a large prompt concept into a governed workflow system. Two major merges landed:

  • human-steerable, convergence-aware Loop behavior with explicit evidence and stop conditions;
  • the Intake Gate, which separates READY_FOR_LOOP, clarification, hard blockers, and work that is better handled as a direct task.

This established the core product idea: long-running Codex work should begin with a validated contract covering scope, roles, permissions, budgets, review evidence, bounded repair, and explicit finalization.

Timestamped evidence: merge 09dfc9b and merge 26f137c.

Log in or sign up for Devpost to join the conversation.