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. Current release: 0.2.2, including claim-write hardening for symlinked, out-of-workspace, and hard-linked work item files.

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. Claim writes refuse symlinked or out-of-workspace work item files and replace the workspace file instead of truncating hard-linked targets.
  • 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.2.tar.gz (11.8 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.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vivary_exo-0.2.2.tar.gz
  • Upload date:
  • Size: 11.8 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.2.tar.gz
Algorithm Hash digest
SHA256 ee19ff9eafbfb009469eff1843a38e1172d712838c79253ed6bc0a4a60893730
MD5 b344da1b0d78e6094c239877ceddd68a
BLAKE2b-256 b9872775b1298d0344c07caec6b360f7b5f28d2ee81bea57686d00b20881e767

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vivary_exo-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0af625e194578ad937afc24a4795fa79ffb676111b63199e5101a5bfcd715ca3
MD5 bcb2107eb98b45e19f5e6532207d8371
BLAKE2b-256 c26801860f30ca4beaa1c0db00af079041b35ed9877d0d870bb9ce45acbccec6

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