Metadata-Version: 2.4
Name: vivary-exo
Version: 0.1.0
Summary: The coordination layer: graph-aware conflict detection and role contracts over a tropo knowledge graph.
Author: Jeff Kazzee
License: MIT License
        
        Copyright (c) 2026 Jeff Kazzee
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/Jeff-Kazzee/vivary
Project-URL: Repository, https://github.com/Jeff-Kazzee/vivary
Keywords: orchestration,multi-agent,knowledge-graph,coordination
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: vivary-tropo>=0.1.0
Dynamic: license-file

# @vivary/exo

> Status: **working** (first slice — read-only coordination). The optional, outermost layer.

**The coordination layer** — the exosphere. Engaged only when one agent becomes
many. exo does **not run agents** (that's the harness / the loops skill) — it reasons
about coordination over the shared tropo graph and hands workers their role
contracts. It reads the graph in-process (one graph, no fork) and is read-only,
deterministic, zero-dependency.

Most workspaces never need this. Single-agent workspaces stop at **tropo + strato**.

## Commands

```bash
python exo.py conflicts --root <workspace>   # who would collide
python exo.py board     --root <workspace>   # what's in flight
python exo.py roles                          # the bounded worker contracts
```

- **`conflicts`** — among `active` work items (changes with `status: active`), flags
  pairs that **share an outbound target** (two in-flight changes touching the same
  module / verification / gate). The graph's collision signal — the coordination
  hazard a task list can't show.
- **`board`** — work items grouped by `status` (and `@assignee` if the workspace
  declares one). The "what's in flight" surface.
- **`roles`** — strato's role grammar as bounded contracts: Orchestrator · Scout ·
  Researcher · Builder · Verifier · Reviewer · Archivist. Workers get a bounded
  contract; they never become product owners.

## Design

- Reuses tropo in-process (like ozone) — no second state store, no new schema.
- Coordination state is **graph-native**: it uses the existing `status` field
  (`active` = in flight). Because `tropo check` is strict, exo does not write
  undeclared fields.
- **Deferred (next slice):** `exo claim <id> --agent <name>` to *set* a claim. Writing
  an `assignee` cleanly needs an opt-in coordination field declaration, so it's a
  follow-up rather than something that bloats every workspace's schema.

## Requirements

Python 3.11+. Loads the sibling `packages/tropo/tropo.py` engine in-process (no pip
install needed in the repo); packaged builds depend on the `tropo` package.
