Skip to content

feat(telemetry): emit v1 schema fields [skip-runtime-e2e]#169

Merged
saurabhjain1592 merged 2 commits into
mainfrom
feat/v1-telemetry-fields
May 8, 2026
Merged

feat(telemetry): emit v1 schema fields [skip-runtime-e2e]#169
saurabhjain1592 merged 2 commits into
mainfrom
feat/v1-telemetry-fields

Conversation

@saurabhjain1592
Copy link
Copy Markdown
Member

@saurabhjain1592 saurabhjain1592 commented May 8, 2026

Summary

Closes the #2007 contract (axonflow-enterprise) on top of v8.0. v8.0 shipped .telemetry() builder removal + stream classifier; this patch adds the three remaining v1 schema fields. Additive on the v8.0 line — no version bump.

Wire shape

Field Behavior
telemetry_type hardcoded "sdk"
profile from AXONFLOW_PROFILE env, "unknown" when unset
deployment_mode self_hosted | community_saas | unknown via new classifyDeploymentMode (host + AXONFLOW_TRY=1 override)
classifyEndpoint drops "community-saas"; EndpointType.COMMUNITY_SAAS removed; topology lives on deployment_mode

New DeploymentMode constants class added alongside EndpointType for symmetry.

Definition of Done

1. Tested

  • mvn test -Dtest='TelemetryReporterTest,TelemetryEndpointTypeTest'44 tests run, 0 failures, 0 errors.
  • BUILD SUCCESS.
  • Test assertions migrated to assert v1 schema (telemetry_type, profile, endpoint-derived deployment_mode).

2. Deep self-reviewed

Hunk-by-hunk per the 5-question protocol: payload builder gains 3 fields + a 4-arg overload; classifyDeploymentMode mirrors the SDK Go / Python / TS shape; EndpointType.COMMUNITY_SAAS removed; classifyEndpoint drops the AXONFLOW_TRY=1 branch; CHANGELOG addition kept to 2 bullets / 5 lines at end of v8.0 entry.

3. Runtime-proven

The existing tests/heartbeat-real-stack/ cross-platform CI workflow drives AxonFlow() against a Python fake checkpoint server, captures the actual ping payload, and runs Ubuntu / macOS / Windows. The new fields ship in that same payload and will be observable on the wire.

Linked

  • axonflow-enterprise#2007 — SDK telemetry consolidation umbrella
  • axonflow-sdk-go#161 / axonflow-sdk-python#188 / axonflow-sdk-typescript#220 — sibling SDK PRs (same patch shape)

Skip-runtime-e2e justification

The v1 schema fields (telemetry_type, profile, deployment_mode) are additive payload extensions that flow through the existing telemetry code path. The pre-existing runtime-e2e/sandbox_telemetry_stream_tag/ test already exercises that code path end-to-end against the deployed checkpoint Lambda, so the new fields will be observable on the wire when that test runs against a v8.0+ Lambda. Adding a near-duplicate runtime-e2e/ wrapper would not increase coverage.

Cross-SDK runtime parity is also validated via the heartbeat-real-stack pattern that the SDK ships in tests/heartbeat-real-stack/ and that CI runs on every PR.

…oyment_mode)

Closes the #2007 contract (axonflow-enterprise) on top of v8.0. v8.0
shipped the .telemetry() builder removal + the stream classifier; this
patch adds the three remaining v1 schema fields. Additive on the v8.0
line — no version bump.

- telemetry_type: "sdk" discriminator field on every payload.
- profile: from AXONFLOW_PROFILE env var, "unknown" when unset.
- deployment_mode: aligned to v1 allowlist self_hosted | community_saas
  | unknown via the new classifyDeploymentMode (endpoint host +
  AXONFLOW_TRY=1 override). The prior config.Mode-based dimension is
  removed — deployment_mode now reflects topology only. New
  DeploymentMode constants class.
- classifyEndpoint: drops the legacy "community-saas" branch and
  EndpointType.COMMUNITY_SAAS constant; topology lives on deployment_mode
  in v1.

Tests: TelemetryReporterTest assertions migrated to the v1 schema +
endpoint-derived deployment_mode (44 telemetry tests green).

Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
@saurabhjain1592 saurabhjain1592 changed the title feat(telemetry): emit v1 schema fields (#2007 contract) feat(telemetry): emit v1 schema fields [skip-runtime-e2e] May 8, 2026
Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
@saurabhjain1592 saurabhjain1592 merged commit f27c26b into main May 8, 2026
21 checks passed
@saurabhjain1592 saurabhjain1592 deleted the feat/v1-telemetry-fields branch May 12, 2026 13:38
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