Skip to content

Rename the X-Otari-Code-Execution header to Otari-Code-Execution before it ships #1471

Description

@peteski22

Problem

#1366 added a request header, X-Otari-Code-Execution, that picks who runs a provider-native code-execution declaration. It is the constant CODE_EXECUTION_HEADER in api/routes/_tools.py, read by the chat, messages and responses routes.

RFC 6648 (BCP 178) says creators of new parameters "SHOULD NOT prefix their parameter names with 'X-' or similar constructs": https://datatracker.ietf.org/doc/html/rfc6648. Otari's other headers already follow it: Otari-Key, Otari-Router, Otari-Router-Task, Otari-Conversation-Id.

The header has not shipped: no release tag contains #1366. So it can be renamed now, with no deprecation.

Proposal

Rename it to Otari-Code-Execution. The literal appears in these files on main:

  • src/gateway/api/routes/_tools.py, src/gateway/api/routes/_pipeline.py
  • src/gateway/core/config.py and src/gateway/services/tenancy/workspace_code_execution_policy_service.py (field descriptions)
  • src/gateway/AGENTS.md, docs/tools.md
  • tests/integration/test_code_execution_executor.py
  • demo/code-exec/plot_with_openai_sdk.py
  • the generated docs/public/openapi.json and web/src/client/schema.ts

Then regenerate the public artifacts and the dashboard client, as "Generated Artifacts" in AGENTS.md lists them.

Acceptance

  • git grep "X-Otari-Code-Execution" finds nothing.
  • A test sends Otari-Code-Execution on each of chat, messages and responses, and the choice applies.
  • make openapi-check, make postman-check and the dashboard client drift check pass.

Part of #1470.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions