Initial: HCT specification
Browse files
LICENSE
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# LICENSE
|
| 2 |
+
|
| 3 |
+
MIT License
|
| 4 |
+
|
| 5 |
+
Copyright (c) 2025 Stefan Wiest
|
| 6 |
+
|
| 7 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 8 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 9 |
+
in the Software without restriction, including without limitation the rights
|
| 10 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 11 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 12 |
+
furnished to do so, subject to the following conditions:
|
| 13 |
+
|
| 14 |
+
The above copyright notice and this permission notice shall be included in all
|
| 15 |
+
copies or substantial portions of the Software.
|
| 16 |
+
|
| 17 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 18 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 19 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 20 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 21 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 22 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 23 |
+
SOFTWARE.
|
README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
library_name: hct-spec
|
| 4 |
+
tags:
|
| 5 |
+
- multi-agent
|
| 6 |
+
- coordination
|
| 7 |
+
- agent-orchestration
|
| 8 |
+
- llm-agents
|
| 9 |
+
- mcp
|
| 10 |
+
- a2a
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# Harmonic Coordination Theory (HCT) - Specification
|
| 14 |
+
|
| 15 |
+
**The canonical specification for HCT coordination signals and performance parameters.**
|
| 16 |
+
|
| 17 |
+
## Overview
|
| 18 |
+
|
| 19 |
+
Harmonic Coordination Theory (HCT) proposes a musical ontology for multi-agent coordination. Current frameworks (LangGraph, CrewAI, AutoGen) give you orchestration tools but lack a shared language for **coordination semantics**—timing, quality, intent, and harmony.
|
| 20 |
+
|
| 21 |
+
HCT fills this gap using musical performance as the ontology: cues, fermatas, tempo, and dissonance become engineering primitives.
|
| 22 |
+
|
| 23 |
+
## The 7 Coordination Signals
|
| 24 |
+
|
| 25 |
+
| Signal | Meaning | Use Case | Musical Origin |
|
| 26 |
+
|--------|---------|----------|----------------|
|
| 27 |
+
| **CUE** | "Your turn—act now" | Task dispatch | Conductor's downbeat |
|
| 28 |
+
| **FERMATA** | "Hold for approval" | Human-in-the-loop | Sustained note |
|
| 29 |
+
| **ATTACCA** | "Immediate handoff" | Real-time flows | Seamless movement transition |
|
| 30 |
+
| **VAMP** | "Loop until ready" | Quality checks | Repeat until cue |
|
| 31 |
+
| **CAESURA** | "Full stop" | Emergency shutdown | Dramatic silence |
|
| 32 |
+
| **TACET** | "Stay silent" | Resource conservation | Instrument rests |
|
| 33 |
+
| **DOWNBEAT** | "Sync point" | Barrier synchronization | Unified entry |
|
| 34 |
+
|
| 35 |
+
## Quick Start
|
| 36 |
+
|
| 37 |
+
### Python
|
| 38 |
+
```python
|
| 39 |
+
from hct_mcp_signals import cue, fermata
|
| 40 |
+
|
| 41 |
+
# Signal the analyst to start with high urgency
|
| 42 |
+
signal = cue("orchestrator", ["analyst"], urgency=9, tempo="presto")
|
| 43 |
+
|
| 44 |
+
# Hold for human approval before publishing
|
| 45 |
+
hold = fermata("report_agent", "Ready for compliance review", hold_type="human")
|
| 46 |
+
```
|
| 47 |
+
|
| 48 |
+
### TypeScript
|
| 49 |
+
```typescript
|
| 50 |
+
import { cue, fermata } from '@hct-mcp/signals';
|
| 51 |
+
|
| 52 |
+
const signal = cue("orchestrator", ["analyst"], { urgency: 9, tempo: "presto" });
|
| 53 |
+
const hold = fermata("report_agent", "Ready for review", { holdType: "human" });
|
| 54 |
+
```
|
| 55 |
+
|
| 56 |
+
### Rust
|
| 57 |
+
```rust
|
| 58 |
+
use hct_mcp_signals::{cue, fermata, Urgency};
|
| 59 |
+
|
| 60 |
+
let signal = cue("orchestrator", &["analyst"], Urgency::Nine, Tempo::Presto);
|
| 61 |
+
let hold = fermata("report_agent", "Ready for review", HoldType::Human);
|
| 62 |
+
```
|
| 63 |
+
|
| 64 |
+
### Go
|
| 65 |
+
```go
|
| 66 |
+
import "github.com/stefanwiest/hct-mcp-signals/go"
|
| 67 |
+
|
| 68 |
+
signal := cue.Cue("orchestrator", []string{"analyst"}, 9, "presto")
|
| 69 |
+
hold := fermata.Fermata("report_agent", "Ready for review", "human")
|
| 70 |
+
```
|
| 71 |
+
|
| 72 |
+
## Installation
|
| 73 |
+
|
| 74 |
+
```bash
|
| 75 |
+
# Python
|
| 76 |
+
pip install hct-mcp-signals
|
| 77 |
+
|
| 78 |
+
# Node.js
|
| 79 |
+
npm install @hct-mcp/signals
|
| 80 |
+
|
| 81 |
+
# Rust
|
| 82 |
+
cargo add hct-mcp-signals
|
| 83 |
+
|
| 84 |
+
# Go
|
| 85 |
+
go get github.com/stefanwiest/hct-mcp-signals/go
|
| 86 |
+
```
|
| 87 |
+
|
| 88 |
+
## Protocol Extensions
|
| 89 |
+
|
| 90 |
+
### HCT-MCP Signals
|
| 91 |
+
**For Anthropic MCP Protocol** — The coordination layer that MCP is missing.
|
| 92 |
+
|
| 93 |
+
[](https://pypi.org/project/hct-mcp-signals/)
|
| 94 |
+
[](https://www.npmjs.com/package/@hct-mcp/signals)
|
| 95 |
+
[](https://crates.io/crates/hct-mcp-signals)
|
| 96 |
+
|
| 97 |
+
→ [GitHub: stefanwiest/hct-mcp-signals](https://github.com/stefanwiest/hct-mcp-signals)
|
| 98 |
+
|
| 99 |
+
### HCT-A2A Extension
|
| 100 |
+
**For Google A2A Protocol** — Coordination semantics for decentralized agent meshes.
|
| 101 |
+
|
| 102 |
+
→ [GitHub: stefanwiest/hct-a2a](https://github.com/stefanwiest/hct-a2a)
|
| 103 |
+
|
| 104 |
+
## Research Papers
|
| 105 |
+
|
| 106 |
+
- [Harmonic Coordination Theory](https://www.stefanwiest.de/research) — CS.AI / CS.MA publications
|
| 107 |
+
- [The 97% Problem](https://seekingsota.com/p/the-97-problem) — Why multi-agent systems fail to scale
|
| 108 |
+
|
| 109 |
+
## Implementation
|
| 110 |
+
|
| 111 |
+
- **hct-core**: [github.com/stefanwiest/hct-core](https://github.com/stefanwiest/hct-core) — Reference implementation
|
| 112 |
+
- **hct-patterns**: [github.com/stefanwiest/hct-patterns](https://github.com/stefanwiest/hct-patterns) — 15+ diagnostic patterns
|
| 113 |
+
- **hct-benchmarks**: [github.com/stefanwiest/hct-benchmarks](https://github.com/stefanwiest/hct-benchmarks) — Validation suite
|
| 114 |
+
|
| 115 |
+
## Author
|
| 116 |
+
|
| 117 |
+
**Stefan Wiest**
|
| 118 |
+
- Web: [stefanwiest.de](https://stefanwiest.de)
|
| 119 |
+
- GitHub: [skew202](https://github.com/skew202)
|
| 120 |
+
- Writing: [SeekingSota](https://seekingsota.com)
|
| 121 |
+
|
| 122 |
+
## License
|
| 123 |
+
|
| 124 |
+
MIT License — See [LICENSE](LICENSE) for details.
|
| 125 |
+
|
| 126 |
+
---
|
| 127 |
+
|
| 128 |
+
*Part of the [Stefan Wiest](https://github.com/stefanwiest) ecosystem: AI Research & Engineering · Multi-Agent System Coordination*
|