Skip to content

feat: define Mango-native HTTP transport contract - #166

Merged
yanpgwang merged 1 commit into
mainfrom
codex/mango-native-http-headers
Aug 21, 2026
Merged

feat: define Mango-native HTTP transport contract#166
yanpgwang merged 1 commit into
mainfrom
codex/mango-native-http-headers

Conversation

@yanpgwang

@yanpgwang yanpgwang commented Aug 21, 2026

Copy link
Copy Markdown
Owner

What changed

  • require Authorization: Bearer <workspace-key> on protected Mango routes and stop accepting inbound x-api-key
  • remove mango serve -strict plus Anthropic version/beta middleware
  • enforce documented JSON or multipart content types for every non-empty request body
  • keep the generic request-id response contract
  • replace Anthropic-Worker-ID with the optional worker_id polling query parameter
  • update OpenAPI, API/security/architecture/capability docs, raw HTTP tests, and SDK research fixtures

Closes #165.

Verification

  • make verify
  • make docs-check
  • make security
  • make local-config
  • make image-smoke
  • git diff --check

API impact and design provenance

This intentionally changes the pre-release /v1 transport contract in place. Clients must use bearer authentication; no compatibility alias, /v2, deprecation window, or strict-mode dual behavior is retained. Environment Work clients pass operational correlation as worker_id; it is not a credential.

Claude Managed Agents documentation and public SDK behavior informed the former authentication, rollout, and worker header choices. Mango adopts standard bearer/content-type semantics and retains the sound generic request correlation shape, while rejecting provider rollout headers and provider-named worker correlation. The decision is recorded in docs/provenance.md. Anthropic headers remain only in the outbound Messages adapter.

Durability and security

No persistence, Session lifecycle, workflow, retry, or side-effect semantics change. Authentication still resolves exactly one Workspace before a protected handler runs. Content-type validation runs before request decoding, and request IDs remain available on error paths. There is no data migration; pre-release clients must update their request headers and Environment Work poll URL.

Checklist

  • Tests cover the changed behavior.
  • Public behavior is documented.
  • Material external design influences and Mango-owned decisions are recorded.
  • No credentials, generated build output, or local databases are included.

@yanpgwang
yanpgwang merged commit 27f97fc into main Aug 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define Mango-native HTTP transport headers

1 participant