Skip to main content

The coordination layer: graph-aware conflict detection and role contracts over a tropo knowledge graph.

Project description

@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

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.

Project details


Download files

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

Source Distribution

vivary_exo-0.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

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

vivary_exo-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file vivary_exo-0.1.0.tar.gz.

File metadata

  • Download URL: vivary_exo-0.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vivary_exo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 914965d6604b19cb75736d5e69ba09d910b5145f1dda915f74dc170445117690
MD5 80a20c88af8b6a19b2c087c3e4f04eb5
BLAKE2b-256 9667421e8569fffb5edb10ed33c07e46105996cc3abc63f43b2db1617d6125d9

See more details on using hashes here.

File details

Details for the file vivary_exo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vivary_exo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vivary_exo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 56ef44488f73335c676166b16ff0bff368c21d603b0e898f85ff5c0cc740398b
MD5 566685a0f3a56f9b1fc522f35ce84593
BLAKE2b-256 c0a6d46d34e6a6d57bceddc5eabea4c6677780fc73c2e48f7181a7452e19e167

See more details on using hashes here.

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