All features

Every part of oah described in the README and its linked docs, with how it works, requirements, limits and the original source.

35 of 35 features

  • Project knowledgeAvailable in v0.3.0

    001 / Impact map

    When your AI changes a file, the impact map lists the related code, documents and checks to rerun. Results are ranked pin, exec, link and mention, so the gates that pin or run a changed path come first. The map is bound to HEAD and its inputs, and oah never uses a stale map silently.

  • Project knowledgeAvailable in v0.3.0

    002 / Project wiki

    oah init creates docs/wiki/, an Obsidian-compatible folder where your AI keeps the task history, decisions and reasons beside the code. oah wiki maintain writes each task's log entry and index line, oah finish checks that it ran, and the next session has a record to read instead of asking you to explain everything again.

  • Run the agentsAvailable in v0.3.0

    003 / Leases

    A lease reserves the paths one task may change, so two AI sessions never edit the same files by accident. An overlapping lease is refused with OAH_LEASE_CONFLICT, naming the holder. When the task finishes, oah compares the files really changed with the scope, because a lease cannot stop an editor from writing elsewhere.

  • Verify and reviewAvailable in v0.3.0

    004 / Gates

    A gate turns “done” into a check with recorded evidence: one checkable result, the command that proves it and the output it must produce. oah gates check runs the CHECK lines through unlazy after you approve them, ticks passing gates with evidence and binds them to their inputs. oah finish refuses unmet gates.

  • Verify and reviewAvailable in v0.3.0

    005 / Build and review loop

    Claude Code builds the first version; Codex CLI reviews a clean, read-only snapshot, corrects the blocking findings and reviews again. There is no fixed number of rounds: a series ends when a round approves or leaves only P2/P3 follow-ups. A repeated problem or a design choice stops the loop for your answer, and a round limit is optional.

  • Extend the toolkitAvailable in v0.3.0

    006 / TypeSafe Jev, the optional judge

    TypeSafe Jev is the recommended, optional judge. It re-orders chosen skills and, in v0.3.0, judges difficulty from the Intent and Scope paths. Its tier guides model choice, subject to confidence thresholds and minimum tiers. Without a key, with Jev off or with an uncertain answer, the rules decide.

  • Define the workAvailable in v0.3.0

    007 / Intent, scope and packets

    A packet holds everything about one task: intent, scope, plan, acceptance gates and return format. The intent states the problem, desired outcome and checkable success conditions, must be accepted before it binds to a lease, and travels byte for byte to every stage, worker and reviewer. Every return ends with one AC line per success condition.

  • Run the agentsAvailable in v0.3.0

    008 / Difficulty, model and effort

    Each task gets a tier — low, medium, high or max — and the tier picks the model and reasoning effort for each engine. Readable rules score four axes: kind, intensity, reasoning and risk. Effort is verified and never lowered silently, optional tier pools list models you have checked, and every run records where its tier came from.

  • Extend the toolkitAvailable in v0.3.0

    009 / Skill selection and updates

    Skills are instruction folders that Claude Code and Codex load. oah picks them for each brief by task kind, stage, risk and the file kinds in the Scope, with a reason for each. The kit cache updates at most once a day when no lease is active, and your project's tracked copies stay pinned until you run oah skills update --project.

  • Verify and reviewAvailable in v0.3.0

    010 / Landing after you confirm

    oah land --check decides whether the exact reviewed head may land, printing one line each for lease, intent, review, gates, impact, required checks, fast-forward, secret scan and CI. oah land --merge runs every check again, asks you to confirm, and only then fast-forwards the remote default branch to exactly that head.

  • Install and operateAvailable in v0.3.0

    011 / Guided setup with oah init

    Run oah init once in each project, a git repository with a remote. It asks once about each option, checks your tools and your Claude Code and Codex sign-ins, shows the complete plan, and changes files only after you confirm. Then it writes the config, rules block, wiki and templates and builds the first impact map.

  • Extend the toolkitAvailable in v0.3.0

    012 / Use it with any AI setup

    The oah command drives Claude Code and Codex CLI today, but its ideas work with one AI or several, including other tools and harnesses. Take the parts you need — leases, engine stages, evidence gates, the impact map, the wiki, the review loop — and give each stage to the AI that suits you.

  • Install and operateAvailable in v0.3.0

    013 / Install and oah doctor

    One command per OS installs oah on macOS 13+ or native Windows 11; Linux is not yet supported. The installer finds Python 3.11+, asks before installing each missing tool with its official command, installs oah with uv (or pipx, or pip), checks that a new terminal finds oah, and runs oah doctor. --dry-run shows every step first.

  • Install and operateAvailable in v0.3.0

    014 / Commands and next-step messages

    Your AI runs oah commands underneath the conversation, guided by the rules oah init installed and each command's next-step message. Every command takes --help, exit codes are fixed (0 done, 1 refused, 2 usage, 69 environment, 75 wait timeout), and every refusal starts with an OAH_* code and says what to run next.

  • Install and operateAvailable in v0.3.0

    015 / Troubleshooting OAH_* refusals

    Every oah refusal starts with a code such as OAH_LEASE_CONFLICT, and the rest of the message names the file, lease or gate involved and the command to run next. The Troubleshooting page groups the common codes by step: setup, models, Jev, leases, packets, starting work, gates, wiki, review, push and landing, and tool updates.

  • Verify and reviewAvailable in v0.3.0

    016 / CI starter

    oah ci init writes .github/workflows/oah-ci.yml after showing it in full and asking. It runs your tests on the operating systems you choose and a pinned gitleaks secret scan on every push and pull request, with every action pinned to a full commit SHA, read-only permissions and no secrets. Making the checks required is a GitHub setting you add yourself.

  • Install and operateAvailable in v0.3.0

    017 / Upgrading oah and its parts

    The Upgrade page says how to update each part: oah itself (pull and rerun the installer with --skip-tools, or a verified release archive), the files oah init wrote (oah rules check and oah rules sync), the skill kit cache and project pins, unlazy, MCP template pins and models. Finish or release open leases first.

  • Install and operateAvailable in v0.3.0

    018 / Keys and sign-ins

    oah itself needs no key. Claude Code and Codex sign in on their own, and the optional features that use a key stay off without one. Keys are read only at runtime, from an environment variable or the OS keychain, through one documented lookup; oah never writes, prints or records a key or puts one in a brief.

  • Extend the toolkitAvailable in v0.3.0

    019 / Toolkit with provenance

    The toolkit is the set of skills, plugins, MCP servers and command-line tools oah recommends, each with its source and license. Skills whose license allows it are bundled byte for byte at a pinned commit; others are linked with their official install command. MCP templates hold placeholders, never key values, and pin an npm version.

  • Extend the toolkitAvailable in v0.3.0

    020 / Companion apps: Orca and Aside

    Orca and Aside are optional apps that fit the workflow; nothing in oah needs them. Orca runs coding agents side by side, each in its own git worktree. Aside is a browser with an AI agent that Claude Code and Codex use for web tasks through MCP. Setup offers each one and installs only what you confirm.

  • Install and operateAvailable in v0.3.0

    021 / Opt-in hooks

    oah offers hooks you install only if you want them: a Claude Code Stop hook that keeps a session from ending while gates are unmet, a session-start hook, a pre-push hook that refuses pushes during a task and scans pushed commits with gitleaks, and post-commit and post-merge hooks that keep the impact map fresh.

  • Install and operateAvailable in v0.3.0

    022 / Security: no secrets anywhere

    The hard rule: no API key, token, password, cookie, OAuth secret or account identifier ever enters the repository, its history, releases, issues or CI logs. Keys are read only at runtime, templates use ${ENV_VAR} placeholders, and gitleaks and the privacy scan run before every push and in CI over the full history.

  • Install and operateAvailable in v0.3.0

    023 / License and third-party notices

    oah is released under the MIT License, copyright open-agent-harness contributors. Bundled skills under skills/ ship unchanged where their licenses allow it, with their own licenses. The diagrams adapt the MIT-licensed diagram-design templates and styles, and THIRD_PARTY_NOTICES.md credits these works and the tools oah runs or links to.

  • Extend the toolkitAvailable in v0.3.0

    024 / A harness that keeps adapting

    oah is a working reference and a guide you can adapt, not one perfect harness to adopt as is. Older rules and skills can hold a newer model back or make its results worse, so keep what helps, remove what no longer does, and change the rules as your tools change. A rule that gets in your way is a design problem to fix.

  • Install and operateAvailable in v0.3.0

    025 / Development checks

    For people changing oah itself: run the unit tests with Python 3.11 and again with the newest Python you have, with TMPDIR inside the checkout. CI tests macOS and Windows on every pull request to main, a separate workflow runs gitleaks and the privacy scan, and commits record their author engine with an Agent-Engine trailer.

  • Define the workAvailable in v0.3.0

    026 / Design and packet judgement before an Intent

    Design and packet work comes before an Intent, so oah call cannot judge it. In v0.3.0, the lead session runs oah recommend --kind design with the user's request file, then sends the work to the oah-<tier> subagent it prints. Design never runs below high, and with no usable judgement it runs at max: unknown difficulty is not treated as easy.

  • Run the agentsAvailable in v0.3.0

    027 / Models chosen from benchmarks

    New in v0.3.0: benchmark scores pick the model. Difficulty and a profile — performance, balanced or efficient — set the score a job needs. Balanced takes the cheapest model that reaches it, efficient the best score per price, and performance the top scorer for the hardest work. No table ties a difficulty to a model.

  • Run the agentsAvailable in v0.3.0

    028 / Scores from Epoch AI, or your own Artificial Analysis key

    New in v0.3.0: scores come from Epoch AI, with no key and no account. With your own Artificial Analysis key, oah uses those scores instead. Each release ships an Epoch AI snapshot, a catalog rebuild refreshes it over HTTPS, and the request sends nothing about your project, your tasks or you.

  • Run the agentsAvailable in v0.3.0

    029 / New model generations join automatically

    New in v0.3.0: a new model generation joins once it has a score, and superseded or removed models drop out, with no file edited. Each change shows a plain notice and stays in the run record. A new generation without a score waits while the older one stays, so a model family never goes empty.

  • Extend the toolkitAvailable in v0.3.0

    030 / Jev judges difficulty

    Released in v0.3.0: TypeSafe Jev judges difficulty from the task's Intent and Scope paths. When its confidence reaches the threshold, its tier runs, never below the floor. When Jev is off or has low confidence, the rule-based difficulty runs. A call is never blocked.

  • Verify and reviewAvailable in v0.3.0

    031 / Reviews never run below their risk floor

    New in v0.3.0: a review never runs below the floor for its risk, whatever a flag, packet, profile or judge says. The floor is medium, or high when a path in the review's scope is risky or its kind needs it. It is scored again from the scope, and a refusal spends no review round or attempt.

  • Install and operateAvailable in v0.3.0

    032 / Tool updates after the last lease

    Available in v0.3.0, and opt-in: after the last lease finishes, oah can bring Claude Code, Codex and Claude Code plugins up to date with each tool's own update command, and the model lists refresh at the next call. Codex plugins and MCP servers are not updated. oah init asks once, and you can turn it off.

  • Verify and reviewAvailable in v0.3.0

    033 / oah models report and export

    New in v0.3.0: oah models report counts how model choices were made — tier source, Jev's difficulty status and confidence, the model judge's status, and how often a floor raised the tier. oah models export saves one JSON line per run as cases you can compare later. Counts alone do not prove Jev helped.

  • Run the agentsAvailable in v0.3.0

    034 / Your pins, pools, caps and floors stay in force

    New in v0.3.0: benchmark-based choice never overrides what you configured. Your pinned models, tier pools, effort caps and task floors stay in force throughout. oah does not edit your config: a pin always wins, effort_caps clamp to a supported level, and the old default quality_order simply counts as unset.

  • Define the workPlanned · v0.4.0

    035 / Design together, one question at a time

    Planned for v0.4.0 and not available yet: you say what you want to build, and oah asks one design question at a time with a recommendation, so you take part in the design decisions before implementation begins. Today you can already discuss the goal with your AI and answer decisions when the review loop stops.