English · Português

In one sentence:
orkconducts AI coding agents (Claude Code and Codex) through parallel six-phase threads, checks every claim against the repository before it counts, and only calls you when the decision is really yours.
- Status: in daily use · on npm as
@orkastery/cli, with changes per version · reviewed on 2026-09-27 - Proof: GitHub CI on every PR: 2,733 core tests, 24 canaries and 20 skills with 199 assertions, zero failures (CI of the
mainat PR #74, run 37102089623, 2026-10-03) - Product and roadmap:
docs/produto/anddocs/roadmap/, checked against the code byork docs verificar - Language: this page is the canonical entry point, mirrored in Portuguese. The pages under
docs/are in Brazilian Portuguese, and the CLI reference is also in English. The CLI prints Brazilian Portuguese too, exceptork doctor,ork init,ork onboarding,ork experiencia show,ork thread(exceptthread new --from-finding),ork phase list,ork phase run,ork verify,ork ship,ork pulse,ork master,ork retry plan,ork retry run,ork roadmap(status and reservations),ork worktree,ork claims,ork decisao placar,ork accounts,ork network(exceptnetwork roadmap),ork docs,ork adapterand the help, which print English whenowner.languageor your locale asks foren; so do theorkastery.yamlcomments, theAGENTS.mdandCLAUDE.mdblocks, theork docs inittemplates and the skills, checklists, commands and subagents thatork adapter installcopies; in English, read the quickstart on orkastery.com and the glossary of what the CLI prints
npm install -g @orkastery/cli
ork demo # 30 seconds: a false claim rejected, the fixed one accepted; no account, no model
ork doctor # what holds on this machine right now; exits != 0 when blocked
ork init # writes the orkastery.yaml; run it at the root of a git repository with at least one commit
ork modos # the four conduction modes
ork docs init # product docs and roadmap in the standard, with lint
Your first thread
The smallest full cycle, in #Fast mode (a single GO phase), right after ork init. <thread> is the ID that ork thread new prints.
git add orkastery.yaml AGENTS.md && git commit -m "ork init"
ork thread new "add an exclamation mark to greet" --modo fast
ork phase run <thread> GO --prompt "<the request>" # the agent runtime works in the thread's worktree
ork verify <thread> # re-runs the claims and the manifest checks on the real HEAD
ork ship <thread> --para main --autorizar-push <you> # #Fast never pushes without your authorization
ork master <thread> --aceitar-omissao # closes the thread with the index derived from the ledger
- If
phase runstops withruntime.workspace-untrusted, runclaudeonce in the worktree, accept the trust prompt, thenork retry run <thread>.ork pulseshows the same instruction. - A claim is what the agent states plus the command that judges it:
ork claims add <thread> <file> --claim "<statement>" --verificar "<command>".
Why it exists
- Coding agents got good. Conducting agents did not.
- Three agents in the same repository edit the same files, skip the same steps and hand over a report saying it worked. The report is the part that is worth nothing.
- Someone is missing between you and them: someone who holds the roadmap, isolates the loops, serializes the merge, re-runs the claim and only interrupts you when it matters.
orktakes that seat. It is a deterministic TypeScript CLI, with no server and no embedded LLM.- Decisions sized for a full day. Whoever conducts agents is also running dozens of other things. Every question
orkbrings you is short and organized, with alternatives and one recommendation, so you decide in seconds without rereading a wall of text. That lightness is a design goal, meant also for people with ADHD: it keeps you conducting instead of drowning.
What changes for builders
Without ork |
With ork |
|---|---|
| The agent says the tests pass | ork verify re-runs the command on the real HEAD, and CI re-runs it again on a clean runner |
| You ask for status several times a day | An hourly summary says what is pending, urgent, blocking or critical |
| Every obvious decision becomes a question | The obvious one comes decided and reported; you change it if you want |
| The runtime account runs out and the roadmap stops | The same prompt continues on the next profile or on the fallback runtime |
| Two sessions step on the same file | One worktree per thread, and leases with a queue |
| The docs lie about the code | ork docs verificar fails the PR when a page drifts |
How it works
Three layers, and business rules live only in the middle one:
flowchart TB
subgraph L1["Layer 1 - where you conduct"]
A["Claude Code, Codex, Hermes, OpenClaw<br/>adapters with no business rules"]
end
subgraph L2["Layer 2 - the ork core"]
B["schedules, isolates, verifies, serializes, records<br/>deterministic TypeScript, no LLM"]
end
subgraph L3["Layer 3 - who writes the code"]
C["claude-bg and codex runtimes<br/>their own accounts, profile rotation"]
end
A -->|"thread new, phase run, gate, ship"| B
B -->|"assembled prompt, sha256 in the ledger"| C
C -.->|"commits, diffs, command output"| B
B -.->|"summary, question batch, delivery"| A
The thread: six phases no agent skips
flowchart LR
G(["GOAL"]) --> P(["PLAN"]) --> GO(["GO"]) --> C(["CHECK"]) --> S(["SHIP"]) --> M(["MASTER"])
C -.->|"failed: GO-FIX with a typed spec"| GO
| Phase | What it delivers | What ork requires to pass |
|---|---|---|
| GOAL | Objective, done criteria, claims with a command | a claim without a command is refused (claims.unverifiable) |
| PLAN | Tasks, decisions, an executable verify per task | a plan without an executable verify does not become GO |
| GO | One atomic commit per task, in the thread's worktree | writing outside the worktree is blocked by a lease |
| CHECK | Verification against the baseline, plus independent CI | a failed claim becomes claims.failed or verify.regression |
| SHIP | Serialized merge with a proven push | only counts when git ls-remote matches the local SHA |
| MASTER | Typed postmortem and a conduction index | the index comes from the ledger; nobody types it |
Four modes, chosen by #TAG
You write the #TAG in the request itself. The mode changes where the cycle waits for you; verifying the delivery is the same in all four.
| #TAG | Pauses | Cycle | What it is for |
|---|---|---|---|
| #Classic | 3 | GOAL* / PLAN* / GO-CHECK* / SHIP-MASTER |
The ork init default: delicate premises |
| #Maestro | 1 | GOAL-PLAN* / GO-CHECK-SHIP / MASTER |
A clear, quick solution |
| #Auto | 0 | GOAL-PLAN-GO-CHECK-SHIP-MASTER |
Docs, studies, configuration, audits |
| #Fast | 0 | GO |
A small, clear request that takes minutes; the push asks for authorization |
*marks the block that pauses. Source of truth:ork modos.#Lookand#Orkwere retired on 2026-09-24 (RM-043); what was recorded with them stays readable forever.#Fastruns only GO, with a minimal proof: a focused test, a cheap claim or an absence declared in the ledger. It never authorizes a push on its own and never touches a public contract (RM-042).
The mode loosens the PAUSE. The mode NEVER loosens the VERIFICATION.
Truth, not reports
- A claim is a contract: the statement, the file and the command that judges it, in
claims.jsonl. There are even negative claims, checked by the command that would falsify them. - The baseline separates regression from debt:
ork verify --baselinerecords the world before GO. - Independent CHECK:
ork ci prepareexports the claims, and the GitHubork-verifyjob re-runs them on the exact SHA. - Proven push: by
git ls-remote, never by the exit code ofgit push. - Prompt sha256 and the effective trio in the ledger: the runtime, model and effort of each phase are facts, not statements.
- 22 typed gate reasons, each with its own retry action:
ork retry policy.cost.violationnever gets an automatic retry.
Layered human attention
- Hourly summary: how many items are pending, how many are urgent, how many block a thread, how many are critical, and "can I send them now?".
- Batch: with your yes, up to 5 objective questions at a time, each with alternatives a–d and one recommended; then up to 2 open ones, one at a time.
- The obvious decision comes made:
ork decisao registrarkeeps the why, how to change it and the cost of changing it now or later; you are informed. - An expired deadline waits or escalates, never approves. An answer only counts with the HMAC proof of the authenticated channel; the agent never answers for you.
- Times in your time zone:
owner.timezone, stated once per message.
Runtimes and accounts
- Two runtimes:
claude-bg(default) andcodex, resolved by name incore/src/runtimes.ts;ork setuppicks runtime, model and effort per block of each mode. - Accounts per profile:
ork accounts add <id> --runtime R --dir Druns the CLI's own login;orknever reads, copies or migrates a credential. - Rotation: an exhausted quota or a lost login sends the same prompt to the next profile or to the block's fallback; a short rate limit waits in the queue.
- Subscription only: a paid key in the factory's environment is a
cost.violation. Details and responsibilities in SECURITY.md.
Context and memory
- Token gate: decides between continuing in the session or opening another; without a measurement it does not rotate, and it says so.
- Triaged handoff: CRITICAL goes inline, IMPORTANT becomes a pointer with the moment to fetch it, SUMMARIZABLE goes with provenance.
- Optional OrkMind: with
memory: orkmind, memory goes to the tenant's database; without it, it degrades to files with a typed reason.
Documentation as code
- Two versioned standards: product documentation and product roadmap, v1.1.
- Three readers per page: a person with ADHD (answer first, one idea per line), the parity checker, and AI agents (YAML frontmatter with stable IDs).
ork docs verificar: fails a source, symbol, contract or command that no longer exists, a merge commit outsidemain, and incoherent status.ork docs sincronizar --escrever: writes only facts from the ledger and git (merge, phase) and regenerates tables and indexes.- In CI: the
documentacaojob runs markdownlint andork docs verificaron every PR.
Install on your host
ork adapter list # the hosts and where each one installs
ork adapter install claude-code --dry-run
| Host | What gets installed |
|---|---|
| claude-code | A plugin with the catalog skills, phase subagents, the /orkastery:ork entry point and hooks |
| codex | The $ork entry point and the conduction catalog as project-local skills |
| hermes | A routing skill, the HITL ingress plugin and thread-opening scripts |
| openclaw | An extension with the ork_* tools, each one a CLI call |
- Zero business rules in the host: the #TAG becomes a mode because the host calls
ork modos --do-pedido; the core validates it. - Installation with a receipt: sha256 per file; a divergence on both sides asks for a decision, file by file.
What exists today, and what does not
| Capability | Status |
|---|---|
| Threads, six phases, four modes, ledger, worktrees, leases, board | works |
Claims, baseline, verify on the real HEAD, 22 typed reasons, GO-FIX |
works |
| CI as an independent CHECK on the exact SHA | works; native protection of main depends on the GitHub plan (RM-012) |
ork ship with a proven push |
works |
| Account rotation across profiles and runtimes | works; account state is still per project (RM-040) |
| Layered HITL, a–d batch, decisions made and reported | works since 2026-09-24 (RM-041); automatic hourly summary since 2026-09-25 (RM-045) |
| Documentation as code with parity in CI | works (RM-044) |
#Fast mode: one phase, minimal proof, no push on its own |
works since 2026-09-27 (RM-042) |
| Roadmap item reservations across machines | works since 2026-09-27 (RM-047); thread state is still per machine |
| Stable local verify on a machine whose CPU the hypervisor steals | does not exist: on such a machine, the reliable proof is CI (RM-037) |
A runtime_reported measurement of the context window |
does not exist: claude-bg does not expose context usage, and the gate says unavailable |
| Deterministic code graph | works in the CLI (ork grafo: index, incremental update, queries and thread context, with each edge's provenance), for npm installs since 0.5.3; the MCP tools and the hint in the phase request stay behind the grafo.mcp flag, off by default (RM-031) |
| Agile Check (the default CHECK) and Classic Check | works since 0.6.0: check.mode: agile | classic in orkastery.yaml or ork verify --check, with the same coverage in both (RM-072) |
| Security and code-quality scan in the CHECK | works since 0.6.0: ork security-scan, run by ork verify when the manifest declares verify.security_scan (RM-068) |
| GitLab with parity to GitHub | works since 0.6.0: CI as the independent CHECK, pulse, network, delivery by MR and the MCP SHIP (RM-065) |
| Private-data barrier for a public repository | works since 0.6.0: ork privado varrer, and the dado_privado policy in ork verify and ork ci prepare (RM-062) |
The full picture, item by item and with git evidence, is in the roadmap index.
Verified in this tree
| Measure | Value | How to check |
|---|---|---|
| Core tests | 2,733, zero failing (CI on 2026-10-03) | npm --prefix core run test:ci |
| Behavior canaries | 24, all green | ork eval --so-canarios |
| Skills corpus | 20 skills, 101 cases, 199 assertions | ork eval --so-skills |
| Product docs and roadmap | zero parity errors | ork docs verificar |
| Runtime dependencies | 9, pinned | core/package.json |
On a virtual machine whose CPU the hypervisor steals (the steal in sar), the local verify can overrun the tests' time windows. That is why the merge gate is the independent CI, and the fix is planned in RM-037.
Documentation
The docs home is organized by what you want to do now. Every page under docs/ is in Brazilian Portuguese; the CLI reference and the orchestration experience guide also have English versions, and the English quickstart lives on orkastery.com.
| Section | Start with |
|---|---|
| Getting started | Quickstart in English, and the full quickstart in Portuguese: from zero to the first full cycle |
| Guides | Modes, verification, human attention, memory, audits |
| Reference | CLI (the source is ork --help) and contracts |
| Concepts | Overview and architecture |
| Product and roadmap | What exists and what comes next, checked against the code |
Reading the CLI in English
Many commands still print Brazilian Portuguese (ork doctor, ork init, ork onboarding, ork experiencia show, ork thread (except thread new --from-finding), ork phase list, ork phase run, ork verify, ork ship, ork pulse, ork master, ork retry plan, ork retry run, ork roadmap (status and reservations), ork worktree, ork claims, ork decisao placar, ork accounts, ork network (except network roadmap), ork docs, ork adapter and the help follow an English locale). These are the words a first run shows.
| The CLI prints | It means |
|---|---|
PRONTO / BLOQUEADO |
ready / blocked: the ork doctor verdict |
correcao |
the fix for the line above it |
Proximo passo |
