Skip to content

fix: remove legacy MCP agent identity fallback#77

Merged
nerdsane merged 1 commit intomainfrom
worktree-agent-aacfe819
Mar 19, 2026
Merged

fix: remove legacy MCP agent identity fallback#77
nerdsane merged 1 commit intomainfrom
worktree-agent-aacfe819

Conversation

@nerdsane
Copy link
Owner

Summary

  • Remove SHA-256 hash derivation fallback for agent identity in MCP server — no more mcp-agent or cc-/cx-/mc- prefix IDs
  • Auto-bootstrap AgentType("operator") + AgentCredential for TEMPER_API_KEY on platform boot, so the global API key resolves as a proper verified identity
  • Remove deprecated X-Temper-Principal-Id and X-Temper-Agent-Type header extraction from server request context
  • Clean up unverified SecurityContext fallback in OData bindings — ResolvedIdentity is the only trusted identity source

Test plan

  • All 430+ workspace tests pass (cargo test --workspace)
  • New E2E tests: e2e_bootstrap_operator_credential_resolves, e2e_bootstrap_operator_credential_idempotent, e2e_unregistered_api_key_does_not_resolve
  • MCP unit tests updated: removed legacy prefix derivation tests, added mcp_initialize_without_api_key_no_identity
  • Manual E2E: built server from source, verified operator credential auto-bootstraps, identity resolution returns verified: true
  • Verify Observe UI Agents page shows proper agent ID (not mcp-agent)

Implements ADR-0033: Platform-Assigned Agent Identity.

🤖 Generated with Claude Code

Remove the "mcp-agent" fallback identity and SHA-256 hash derivation
from the MCP runtime. All agents must now have proper credentials.

- Remove legacy SHA-256 agent ID derivation from temper-mcp runtime
- Remove hostname and sha2 dependencies from temper-mcp
- Auto-register AgentType("operator") + AgentCredential for the global
  TEMPER_API_KEY on platform bootstrap (idempotent)
- Remove deprecated X-Temper-Principal-Id and X-Temper-Agent-Type
  header extraction from request context
- Clean up SecurityContext fallback: no self-declared identity trusted
- Enrich agent context from ResolvedIdentity for telemetry
- Add E2E tests for operator credential bootstrap and resolution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nerdsane nerdsane force-pushed the worktree-agent-aacfe819 branch from 9fd1d2d to d9e3db5 Compare March 18, 2026 23:46
@nerdsane nerdsane merged commit e8030af into main Mar 19, 2026
5 checks passed
@nerdsane nerdsane deleted the worktree-agent-aacfe819 branch March 19, 2026 01:07
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.

2 participants