skcoord
Sovereign multi-agent coordination + ITIL service management, extracted from
skcapstone (CR-4.1) as the standalone coordination core. A pure Python
library: one runtime dependency (pydantic), no CLI, no daemon, no network
surface.
Maturity-tier: T0, N/A (no key material, no crypto surface). Docs: SOP.md · SECURITY.md · CONTRIBUTING.md · CHANGELOG.md
What's here
coordination: the conflict-free task board (Board,Task, each agent writes only its own files under~/.skcapstone/coordination/). Task files carry no status field; status is derived.card: the read-only unified kanbanCardprojection over tasks + ITIL, plus the per-writer overlay logcoordination/card_events/<host>.jsonl.card_store: the event-sourced Card store (~/.skcapstone/cards/<id>/core.jsonwritten once, plus append-only per-writer event logs folded on read).SKCOORD_CARD_STOREis its kill switch, not an opt-in: post Phase-4e the store is default-ON and is disabled only by0,off,false, orno(dualmeans write both, read legacy). See SOP.md section 6.lifecycle: a read-only audit and explicit repair for drift between the event-sourced kanban lifecycle and mutable agent claim projections. Repairs refuse active ownership conflicts and append per-writer JSONL receipts.itil: incident / problem / change / CAB / KEDB service management.cmdb: event-sourced configuration items + relationships.cmdb_scheduler: fail-closed scheduled-reconcile configuration, overlap lease, drift escalation, and evidence-retention helpers.agent_card: the shareable sovereign identity vCard for the mesh.atomic_io: atomic file-write helper shared by the above.
Dependency direction
Import-time dependencies flow one way: skcapstone depends on skcoord.
The few reverse edges into skcapstone internals (skjoule, active_agent_name,
gtd_tools, pubsub, activity) are runtime-lazy inside the methods that use
them, so there is no import-time cycle. In skcapstone, skcapstone.coordination
/ .card / .card_store / .itil / .cmdb / .agent_card / .atomic_io remain
as re-export shims, so every existing importer keeps working byte-identically.
That also means every skcapstone process runs skcoord code: the daemon, the per-agent units, the dashboard, and skoperator all reach it through those shims.
Install
~/.skenv/bin/pip install -e .
The version is derived from the git tag by setuptools-scm, so a shallow clone
without tags builds a dev version. Use fetch-depth: 0 and fetch-tags: true.
Test
~/.skenv/bin/python -m pytest tests/ -q
~/.skenv/bin/python -m ruff check src/ tests/
License
GPL-3.0-or-later. See LICENSE.
Release files for skcoord 0.1.55
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skcoord-0.1.55.tar.gz | 295.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skcoord-0.1.55-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 509.5 kB
Release files / skcoord-0.1.55.tar.gz
| Download URL | skcoord-0.1.55.tar.gz |
|---|---|
| Size | 295.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
726e62f60565ab55f627aba7cccbe794ee3fcaa30ae8909df8564faad5d1f777
|
|
BLAKE2b-256 checksum How to use checksums |
95226249ecc8bebc0fd09bfbe19db0822646a7233df389ef33359c2cb4792791
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / skcoord-0.1.55-py3-none-any.whl
| Download URL | skcoord-0.1.55-py3-none-any.whl |
|---|---|
| Size | 214.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
340cfd8cb498e019917950b0d021616ee36a42e6f48419decc5b7b3d6d6443ba
|
|
BLAKE2b-256 checksum How to use checksums |
01cde3361671f45002ffd0ff41c463b3f5ddaf51bcb431a37e56d8d28b7af723
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|