regent
Autonomous conduction and mediated adversarial deliberation between AI agents, pluggable into any project.
regent governs turns between agents (Claude, Codex, human mediators) under a frozen protocol: atomic turn mutex, CAS-versioned state, deliberation rounds with versioned acceptances, and a conduction daemon that executes production batches with a confined agent, test gates and evidence proof.
Extracted from the tool proven end-to-end in the ArtNFT project (IMP-003: first product batch fully conducted by the daemon, deliberated, accepted and deployed to production).
- Requirements:
docs/PRD.md - Extraction scope and decisions:
docs/ESCOPO.md(PT-BR, pre-rename) - Deliberation rounds:
docs/brainstorm/(mediator's language, PT-BR) - Status: pre-extraction (scope closed 2026-07-20; code not yet migrated)
Install
pip install <path-to-this-repo> # package: regent-cli; CLI: regent (not on PyPI yet)
cd <your-project>
regent init # seeds .regent/ + .claude/skills symlinks (atomic, idempotent)
regent doctor # checks executor (claude) and advisor (codex) CLIs
Then open a Claude Code session in the project — /regent and /regent-stop are available
(/regent brainstorm "<question>" opens the first round). The v1 skills are
control-backed: activity state lives in .regent/control.json and is driven through
the JSON subcommands — regent status (control + lock + the executable control×files
matrix as workspace.verdict), regent activity start|resume|suspend|conclude|heartbeat|takeover, regent stop request|check. Hosts
seeded by older versions upgrade automatically on regent init (known-version manifest;
unknown local edits are preserved as conflicts). The advisor requires the codex CLI. Conduction
phase 1 mechanizes the two most error-prone sub-steps: regent advisor consult --prompt-file … --artifact … --linkage … (read-only sandboxed consultation with the
REQ-003 §5 evidence pair generated by the command, fail-closed verdict expectation) and
regent gate run --command … --declared-in <plan> --artifact … --linkage … (verbatim
provenance check, process-group-killing timeout, integral output preserved). Conduction
phase 2 adds regent turn run: one supervised, CONFINED claude -p turn — the agent may
only write inside a declared envelope (a PreToolUse hook denies the rest), the supervisor
proves what changed via git (blob shas vs authenticated post events) and commits through a
private index with a HEAD compare-and-swap. The agent never commits; a violation, a
tampered log or a red gate never yields a product commit.
Development: PYTHONPATH=src python3 -m unittest discover -s tests; packaging gate:
bash scripts/gate-package.sh. Canonical skill content lives in src/regent/templates/
(ships inside the wheel); the repo's own .regent/skills/ symlinks into it (dogfood
without duplication).
Protocol layer
regent.protocol (PLAN-001) is the transactional foundation the conduction daemon will
drive: ControlStore (control.json with a real CAS — every mutation runs inside a
kernel-flock critical section, atomic AND durable publication with file+directory fsync),
TurnLock (executor-only turn ownership by uuid4 token; the whole lifecycle —
acquire/heartbeat/release/takeover — is serialized under a flock; takeover is graced,
audited, and rotates the control turn token BEFORE the new lock exists, aborting on
divergence), stop-request representation (record_stop_request /
read_valid_stop_request / suspend_activity, with activity/epoch/turn-token staleness
fencing) and AuditLog (flock-serialized, fsynced JSONL under
.regent/protocol/audit.jsonl). Dormant until the conduction phase wires it to the
skills; the v0 skills remain file-driven.
MIT License © 2026 Flavio Alvim.
Metadata
Release files for regent-cli 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| regent_cli-0.7.0.tar.gz | 89.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| regent_cli-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.8 kB
Release files / regent_cli-0.7.0.tar.gz
| Download URL | regent_cli-0.7.0.tar.gz |
|---|---|
| Size | 89.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
44463da39024eed930d6a16a16f7f017cd116766e48f04ee19621fb7420a1b11
|
|
BLAKE2b-256 checksum How to use checksums |
53367a022075331f5ade8b87304abbf5129dd6ac494db5a9a1ac35d11c4df465
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / regent_cli-0.7.0-py3-none-any.whl
| Download URL | regent_cli-0.7.0-py3-none-any.whl |
|---|---|
| Size | 68.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba5a61ccffb6676d09f5aed46b0e618412fd6a5c858c1e0ac3a4906bd2642f2d
|
|
BLAKE2b-256 checksum How to use checksums |
433b64b2cec7808caa056d9fba6fc65b23ab2c268e07a54c277610fb74488d16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|