Skip to main content

3Powers

3Powers

The spec is the law. Agents execute. An independent judiciary determines whether the implementation complies with the spec.

3Powers is a portable, open agent harness with a judiciary — it drives your coding agents through the whole agentic lifecycle at high autonomy, then does the one thing a bare harness never does: it refuses to take their word for it. Agents do the building. An independent judiciary — an oracle that never saw the code, a deterministic gate suite, and a signed, tamper-evident ledger — proves that what shipped matches the spec you approved.

This package (3powers on PyPI) provides the 3pwr command: the native provider-agnostic executive, the deterministic gate runner, the oracle-independence checks, and the hash-chained, Ed25519-signed verdict ledger you can verify offline. It is model-, language-, and provider-agnostic, uses Git as its substrate, and needs no CI/CD platform.

Install

Install with uv — the package is published as 3powers, and the command it installs is 3pwr:

uv tool install 3powers        # installs the `3pwr` command

Or run it once without installing:

uvx 3powers --help

Python 3.11+ is required.

Quickstart: the autonomous path

# 1. In YOUR project (new or existing), run the guided onboarding. It asks for the language,
#    where to keep the signing key (always OUTSIDE the repo), and your default autonomy mode.
cd /path/to/your/project && 3pwr init

# 2. Describe what you want built, and let the lifecycle run:
3pwr run "add rate limiting to the login endpoint" --mode auto

3pwr run streams a live stage tracker and in auto mode stops only at the two human gates: approving the spec, and the final sign-off. Every step lands in the signed, offline-verifiable ledger, so a run is resumable and auditable.

The deterministic gates, ledger, and enforcement are pure 3pwr and need no agent at all — the gates-only path works fully offline. Every run emits one normalized verdict a human can read without opening a single agent transcript:

verdict FAIL  spec=VUTIL tier=Standard adapter=typescript
  ✓ format · biome          ✓ lint · biome        ✓ types · tsc
  ✓ tests · vitest          ✓ diff_coverage · 3pwr-covdiff  (100.0% ≥ 80.0%)
  ✗ dependency_scan · osv-scanner
      - GHSA-4x5r-pxfx-6jf8 in @babel/core
  ✓ secret_scan             ✓ gate_gaming         ✓ spec_conformance  (5 requirements traced)
  failures:
    • vulnerable_dependency: GHSA-4x5r-pxfx-6jf8 in @babel/core
  ↳ ledger entry #0 signed by ed25519:4fd71c543b0f499c

Why: when one model does everything, validation is a mirror

Hand a capable agent a feature and it will happily write the spec, the code, the tests, and the review. They all agree, because they all came from the same mind. A passing build only proves the model agreed with itself. 3Powers calls this the separation-of-powers collapse, and restores three independent branches:

  • ⚖️ Legislative — the spec is the law. Versioned, testable requirements every later stage answers to.
  • 🛠️ Executive — agents build against it. They may write their own tests, but those never replace the independent check.
  • 👩‍⚖️ Judicial — an independent judiciary decides. An oracle authored from the spec by a different model family, a deterministic gate suite, and a human sign-off.

The lifecycle runs in eight stages — Discovery → Spec → Plan → Build → Verify → Review → Ship → Observe — with a signed, hash-chained ledger recording every verdict and sign-off so the whole run is verifiable offline.

Documentation

Full guides live in the repository:

  • Getting Started — prerequisites, install, and the whole thing end-to-end.
  • Concepts — the three powers, the lifecycle, risk tiers, oracle independence, the trust spine.
  • CLI Reference — every 3pwr command and flag.
  • Engine Architecture — the gates, the verdict, and the ledger.
  • Glossary — every term of art, defined once.
  • STATUS — implementation status, validated against the spec.

Repository: https://github.com/VerzCar/3powers

Contributing

Working on the engine itself? See CONTRIBUTING.md for the dev environment and the checks it must always pass (ruff + mypy + pytest, plus the engine gating its own code at the strictest tier).

License

Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3powers-1.0.1.tar.gz (628.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3powers-1.0.1-py3-none-any.whl (402.9 kB view details)

Uploaded Python 3

File details

Details for the file 3powers-1.0.1.tar.gz.

File metadata

  • Download URL: 3powers-1.0.1.tar.gz
  • Upload date:
  • Size: 628.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for 3powers-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c5f8a6c7af1a1717c939bb9bd5e1a3f8aa4d0677c3322d36db2aec4a1497a195
MD5 28c8e1ccfd1d5b64331d0b3905c551a3
BLAKE2b-256 b3805b106a1632b44548dde284d73088724934abfdad74dba234af169a476293

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3powers-1.0.1.tar.gz:

Publisher: release.yml on VerzCar/3powers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file 3powers-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: 3powers-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 402.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for 3powers-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b07f48743c7a4dbe48880f931a368373aaf65fb76e3f748e67a0c5722f66f153
MD5 3657c55d5dcefdc7c8f2ae1cd4008e9c
BLAKE2b-256 18824b7e6832dec3a7b551aa261bd04d539110e202af2e45a27c90b77c61b252

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3powers-1.0.1-py3-none-any.whl:

Publisher: release.yml on VerzCar/3powers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page