Skip to content

fix(runtime-e2e): verify unknown default + drop stale merge-status note (#2912)#219

Merged
gzak merged 1 commit into
mainfrom
fix/2912-caller-name-unknown-default
Jul 20, 2026
Merged

fix(runtime-e2e): verify unknown default + drop stale merge-status note (#2912)#219
gzak merged 1 commit into
mainfrom
fix/2912-caller-name-unknown-default

Conversation

@gzak

@gzak gzak commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #218 (merged). axonflow-enterprise#2953 (caller_name) has since merged to axonflow-enterprise main and shipped in platform v9.11.0. That merge also folded in #2903, which changed the fallback default written to policy_details.caller_name when neither caller_name nor tool_type is supplied from "claude_code" to "unknown" — an unidentified caller must never be silently attributed to a specific client.

  • runtime-e2e/caller_name_audit/test.py — adds a third real-stack scenario: neither field supplied → policy_details.caller_name == "unknown" (not "claude_code").
  • runtime-e2e/caller_name_audit/README.md — replaces the stale "axonflow-enterprise#2953 is an open PR, not yet merged" prerequisite note (true when feat(client): add caller_name to audit_tool_call (#2912) #218 merged, no longer true) with the current v9.11.0 platform requirement, and documents the third scenario.

No SDK code changes. caller_name and tool_type were already independently settable fields on AuditToolCallRequest (see #218), so unlike the plugin repos (codex-plugin#82, cursor-plugin#83, openclaw-plugin#156) this SDK never needed a "dual-send" cutover — callers could already send both together, and the existing unit test test_caller_name_and_tool_type_together already covers it.

Implements getaxonflow/axonflow-enterprise#2912, sub-issue of epic #2905.

Test plan

  • runtime-e2e/caller_name_audit/test.py rerun against a freshly built axonflow-enterprise main (commit 7a5984ec7+, platform v9.11.0, docker compose build from source, not a stale/cached image) — all three scenarios pass:
    PASS: policy_details.caller_name = 'e2e-caller-name-probe-<run>' reached the audit_logs row via the real agent+orchestrator stack
    PASS: legacy tool_type='mcp' still resolves into policy_details.caller_name = 'mcp' (deprecated fallback intact)
    PASS: neither caller_name nor tool_type supplied -> policy_details.caller_name = 'unknown' (#2903 default, not 'claude_code')
    ALL PASS: caller_name (#2912) verified end-to-end through the real SDK + platform
    
  • Independently confirmed via direct platform inspection (audit_logs.policy_details in Postgres, and a raw curl against /api/v1/audit/tool-call + /api/v1/audit/tenant/{id}) before landing the SDK-level assertion.
  • Full unit suite: 1060 passed, 29 skipped (coverage 82.74%, threshold 75%).
  • scripts/lint-no-mocks-in-runtime-e2e.sh — clean.
  • ruff check — clean on touched files.

…te (#2912)

axonflow-enterprise#2953 (caller_name) has merged and shipped in platform
v9.11.0; it folded in #2903, which changed the fallback default written to
policy_details.caller_name when neither caller_name nor tool_type is
supplied from "claude_code" to "unknown" (an unidentified caller must not
be silently attributed to a specific client).

- runtime-e2e/caller_name_audit/test.py: add a third real-stack scenario
  asserting the neither-supplied case resolves to "unknown", not
  "claude_code". Verified against a freshly built axonflow-enterprise
  main (commit 7a5984ec7+, platform v9.11.0) — confirmed via direct
  platform inspection (audit_logs.policy_details) and through this SDK's
  own audit_tool_call before landing the assertion.
- runtime-e2e/caller_name_audit/README.md: replace the stale "#2953 is an
  open PR, not yet merged" prerequisite note (accurate when PR #218
  merged, no longer true) with the current v9.11.0 platform requirement;
  document the third scenario.

No axonflow SDK code changes -- caller_name/tool_type were already both
independently settable, so the SDK needed no "dual-send" cutover.

Signed-off-by: Gregory Zak <gzak@getaxonflow.com>
@gzak

gzak commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

R3 review: clean, no findings. Independently re-ran the runtime-e2e test against the real local v9.11.0 stack — all 3 scenarios (caller_name, legacy tool_type fallback, neither-supplied → "unknown") genuinely pass. CI green. Ready to merge.

@gzak
gzak merged commit 18505fe into main Jul 20, 2026
17 checks passed
@gzak
gzak deleted the fix/2912-caller-name-unknown-default branch July 20, 2026 06:03
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.

1 participant