Skip to main content

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

Project description

vivary-exo

Status: working (coordination + graph-native claims). 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 has one narrow writer: exo claim, which only updates an opt-in assignee field on work items under changes/.

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 claim local-ci-baseline --agent connie --root <workspace>
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.
  • claim <id> --agent <handle> — claim a work item under changes/ by setting top-level assignee. Agent handles may have an optional leading @ and then letters, digits, ., _, or -; the stored value omits the leading @. BOM-prefixed frontmatter is updated in place, and malformed frontmatter is rejected instead of guessed through.
  • 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.

To enable claims, opt into the coordination field:

packs = ["repo-graph", "coordination"]

Then:

exo claim local-ci-baseline --agent connie
exo board
exo conflicts
tropo check

Design

  • Reuses tropo in-process (like ozone) — no second state store, no new schema.
  • Coordination state is graph-native: status marks in-flight work and assignee records ownership when the workspace opts into packs = ["coordination"]. Because tropo check is strict, exo refuses to write undeclared fields.

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.


Website & docs: https://vivary.vercel.app/

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.2.1.tar.gz (10.9 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.2.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vivary_exo-0.2.1.tar.gz
  • Upload date:
  • Size: 10.9 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.2.1.tar.gz
Algorithm Hash digest
SHA256 8560551ebcdb72d9b0639a5922f9c3c8995ad9ef41394a3252f40e0d2c354e6c
MD5 c6392056ccec52e51c45663ee3013f4c
BLAKE2b-256 f6e444ca3b882468709cb607022d2c0755647f671aae950f75b09b82c01456c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vivary_exo-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.7 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa87c0090bd1fd5f54f52afc6517fd78e6fe7a34dae5b532ca7d69471f62d01
MD5 83269ec163e2ee4d5b6c1d57d0d2017e
BLAKE2b-256 c616782f855fe57096aadbbda8dbfdc41ab4d7babb298d696c400aa6abce3c12

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