Skip to content

Add semantic session negotiation - #77

Draft
kevinyang372 wants to merge 1 commit into
mainfrom
kevin/semantic-session-mode
Draft

Add semantic session negotiation#77
kevinyang372 wants to merge 1 commit into
mainfrom
kevin/semantic-session-mode

Conversation

@kevinyang372

Copy link
Copy Markdown
Member

Summary

Adds an additive, fail-closed semantic conversation session mode to the shared-session protocol while preserving the legacy full-terminal default and JSON compatibility.

The contract includes:

  • explicit content-mode, schema-version, and execution-identity negotiation
  • exact session/execution scoped cursors
  • semantic ordered mutation events and typed resync reasons
  • accepted-message context transport
  • positive feature gating for new server-to-client variants
  • legacy and semantic JSON compatibility fixtures

Compatibility

Older clients continue to omit the new fields and use full-terminal behavior. Semantic clients require an exact server echo and reject missing or mismatched mode, schema, execution identity, or cursor scope.

Validation

  • cargo +1.88.0 fmt -- --check
  • cargo +1.88.0 clippy --all-targets --all-features -- -D warnings
  • cargo +1.88.0 nextest run --workspace --no-tests=warn (10 tests passed)
  • git diff --check

Plan: https://staging.warp.dev/drive/notebook/BOjlgsw2BUunaAz7Hxzt0I
Conversation: https://staging.warp.dev/conversation/3c209bd3-23e2-402b-9c0c-52a0167a4167

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant