You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Reference runtime for the Multi-Agent Coordination Protocol (MACP).
4
4
5
-
This runtime implements the current MACP core/service surface, the five standards-track modes in the main RFC repository, and one experimental `multi_round` mode that remains available only by explicit canonical name. The focus of this release is freeze-readiness for SDKs and real-world unary integrations: strict `SessionStart`, mode-semantic correctness, authenticated senders, bounded resources, and durable restart recovery.
5
+
This runtime implements the current MACP core/service surface, the five standards-track modes in the main RFC repository, and one experimental `multi_round` mode that remains available only by explicit canonical name. The focus of this release is freeze-readiness for SDKs and real-world unary and streaming integrations: strict `SessionStart`, mode-semantic correctness, authenticated senders, bounded resources, and durable restart recovery.
6
6
7
7
## What changed in v0.4.0
8
8
@@ -28,8 +28,9 @@ This runtime implements the current MACP core/service surface, the five standard
28
28
- per-session append-only log files and session snapshots via `FileBackend`
- The RFC/spec repository remains the normative source for protocol semantics.
206
207
- This runtime only accepts the canonical standards-track mode identifiers for the five main modes.
207
208
-`multi_round` remains experimental and is not advertised by discovery RPCs.
208
-
-`StreamSession` is intentionally not part of the freeze surface for the first SDKs.
209
+
-`StreamSession` is available for bidirectional session-scoped coordination. Use `Send` when you need per-message negative acknowledgements. The current implementation streams future accepted envelopes from the time the stream binds; it does not backfill earlier accepted history.
209
210
210
211
See `docs/README.md` and `docs/examples.md` for the updated local development and usage guidance.
Copy file name to clipboardExpand all lines: docs/architecture.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,4 +93,4 @@ Responsibilities:
93
93
94
94
## Freeze-profile design choice
95
95
96
-
The runtime intentionally prioritizes unary correctness over streaming completeness. `StreamSession` is therefore disabled in this release profile so SDKs can target a stable, explicit surface.
96
+
The runtime now exposes `StreamSession` as a per-session accepted-envelope stream. Each gRPC stream binds to one session and receives canonical MACP envelopes in runtime acceptance order. Unary `Send` remains the path for explicit per-message acknowledgement semantics.
Copy file name to clipboardExpand all lines: docs/examples.md
+14-2Lines changed: 14 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Examples and local development guide
2
2
3
-
These examples target `macp-runtime v0.4.0` and the unary freeze profile.
3
+
These examples target `macp-runtime v0.4.0` and the stream-capable freeze profile.
4
4
5
5
They intentionally use the local-development security shortcut:
6
6
@@ -141,7 +141,19 @@ cargo run --bin multi_round_client
141
141
142
142
This mode is still experimental. It remains callable by the explicit canonical name `macp.mode.multi_round.v1`, but it is not advertised by discovery RPCs and it does not use the strict standards-track `SessionStart` contract.
143
143
144
-
## Example 7: Freeze-check / error-path client
144
+
## Example 7: StreamSession
145
+
146
+
`StreamSession` emits only accepted canonical MACP envelopes. A single gRPC stream binds to one session. If a client needs negative per-message acknowledgements, it should continue to use `Send`.
147
+
148
+
Practical notes:
149
+
150
+
- bind a stream by sending a session-scoped envelope for the target session
151
+
- use `SessionStart` to create a new session over the stream
152
+
- stream attachment starts observing future accepted envelopes from the bind point; it does not replay earlier history
153
+
- use a session-scoped `Signal` envelope with the correct `session_id` and `mode` to attach to an existing session without mutating it
154
+
- mixed-session streams are rejected with `FAILED_PRECONDITION`
0 commit comments