Merged
Conversation
Phase 1: Proto Sync + Discovery Surface Fixes - proto/macp/v1/core.proto: Added TransportEndpoint message and transport_endpoints field (8) on AgentManifest - src/server.rs: stream: false on capabilities; GetManifest handles agent_id (empty/"macp-runtime" → self, else → not_found), content types → application/macp-envelope+proto, added transport_endpoints; ListModes returns only Decision Mode with semver 1.0.0 and schema_uris - src/runtime.rs: registered_mode_names() filters out multi_round (experimental) - 9 new tests for discovery surface Phase 2: Session Data Model + Envelope Validation - src/session.rs: Added context, roots, initiator_sender fields to Session - src/runtime.rs: Populates new fields from SessionStartPayload and env.sender - src/server.rs: Validates sender and message_type are non-empty - All test Session constructors updated across 4 files - 4 new tests for context/roots/initiator_sender and validation Phase 3: Mode-Aware Authorization - src/mode/mod.rs: Added authorize_sender() default method on Mode trait - src/mode/decision.rs: Overrides authorize_sender — orchestrator (session initiator) can send Commitment even if not in participants - src/runtime.rs: Replaced hardcoded participant check with mode.authorize_sender() delegation - 3 new tests for orchestrator bypass and unchanged multi_round behavior Phase 4: Decision Mode Correctness - src/mode/decision.rs: Legacy Message/resolve scoped to "decision" alias only; canonical mode rejects unknown message types; Commitment requires proposals (not votes) - 6 new/updated tests for legacy scoping and commitment rules Phase 5: Version Alignment + Docs + Clients - Cargo.toml: 0.1.0 → 0.3.0 - src/main.rs: v0.3 → v0.3.0 - src/server.rs: version "0.3" → "0.3.0" - README.md: v0.2 → v0.3, updated feature list, noted streaming not fully implemented - docs/*: Updated all version references - src/bin/client.rs: Rewritten to demonstrate canonical Proposal → Evaluation → Commitment lifecycle - CLAUDE.md: Updated to reflect all changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1: Proto Sync + Discovery Surface Fixes
Phase 2: Session Data Model + Envelope Validation
Phase 3: Mode-Aware Authorization
Phase 4: Decision Mode Correctness
Phase 5: Version Alignment + Docs + Clients
Summary
Describe the changes introduced by this pull request.
Type of Change
Checklist
cargo testpassescargo clippyhas no warningscargo fmthas been runModetrait correctly (if applicable)MacpError(if applicable)