Metadata-Version: 2.4
Name: untaped-orchestration
Version: 0.1.0
Summary: Git-native typed orchestration for repository tasks and decisions.
Author: Alexis Beaulieu
Author-email: Alexis Beaulieu <alexisbeaulieu97@gmail.com>
License-Expression: MIT
License-File: LICENSE
Requires-Dist: cyclopts>=4.16,<5
Requires-Dist: filelock>=3.29.7,<4
Requires-Dist: pydantic>=2.13.3,<3
Requires-Dist: tomli-w>=1.2,<2
Requires-Dist: untaped>=3.1.0,<4
Requires-Python: >=3.14
Description-Content-Type: text/markdown

# untaped-orchestration

`untaped-orchestration` is a standalone Python 3.14 CLI for Git-native, typed
repository tasks and decisions. Canonical state is reviewable text under
`.untaped/orchestration/`; agents use bounded queries and guarded mutations
instead of loading or rewriting the store directly.

Status: **the 0.1.0 implementation is complete**. Package-index availability is
the source of truth for installable releases; this document does not infer
publication state from the repository contents.

## Install

For the released package:

```sh
uv tool install untaped-orchestration
```

To evaluate the current source directly:

```sh
uv tool install 'git+https://github.com/alexisbeaulieu97/untaped-orchestration.git'
```

Run `untaped-orchestration --help` for the command tree. The safest agent entry
point in an existing store is:

```sh
untaped-orchestration brief --format json
```

Allocate a caller-stable ID before an initialization or create operation, and
reuse it on every retry:

```sh
STORE_ID="$(untaped-orchestration id new store --format raw)"
untaped-orchestration init . --store-id "$STORE_ID" --name Example --timezone UTC
```

## Source package acceptance

The default local suite stays offline: it builds a fresh wheel and sdist in a
temporary artifact directory outside `dist/`, audits their metadata and
contents, and reports exactly one explicit dependency-resolving install skip.
PR CI sets `UNTAPED_ISOLATED_WHEEL_TEST=1` so that skipped test installs the
exact fresh wheel with its real dependencies into a clean external virtual
environment and runs the console/store smoke. No checkout or development
site-packages path is injected into that environment.

## Documentation

- [CLI and output contracts](docs/cli.md)
- [Canonical file format](docs/file-format.md)
- [Diagnostics and recovery](docs/recovery.md)
- [Authoritative v1 design](docs/superpowers/specs/2026-07-09-orchestration-v1-design.md)
- [SDK plugin guide](https://github.com/alexisbeaulieu97/untaped/blob/main/docs/plugins.md)
- [Contributing](CONTRIBUTING.md) and [security reporting](SECURITY.md)

## Privacy and federation

Public stores are decision-only in v1. Tasks remain in a private task-capable
store. The explicit federation registry is `registry.toml`; the tool never
discovers nearby repositories implicitly. Partial-tolerant reads report incompleteness,
while readiness, delivery, and structural mutations fail closed.

## Release and self-adoption gate

Release publication and self-adoption are separate gates. Self-adoption may
begin only after `untaped-orchestration==0.1.0` is published, its fresh `uvx`
smoke passes, and Alexis gives separate approval. Adoption uses the exact
released pin in its own reviewed PR.

Fleet rollout is staged: dry-run pilot, content cohort, empty-store cohort, and
the private hub last. Every repository receives one separately reviewed
adoption PR. See [CLI and output contracts](docs/cli.md#release-and-rollout-gates)
for the exact gates.
