Skip to content

docs(genkit-go): add native OpenTelemetry tracing guide - #1099

Draft
nik13 wants to merge 5 commits into
mainfrom
docs/genkit-go-native-otel
Draft

nik13 wants to merge 5 commits into
mainfrom
docs/genkit-go-native-otel

Conversation

@nik13

@nik13 nik13 commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add a Genkit Go guide using upstream otelgenai instrumentation and a single OTLP HTTP trace exporter wrapped by the maintained export-time privacy adapter in traceAI PR #544. No duplicate span-producing instrumentor or copied filtering helper is added. This is Go-specific and distinct from the JavaScript guide in #1016.

Round-one fixes:

  • Scope the privacy contract in both the guide and shared environment-variable reference to the adapter's three supported switches: FI_HIDE_INPUTS, FI_HIDE_OUTPUTS, and FI_HIDE_ERROR_DETAILS. Explicitly document that granular flags have no effect, that the input switch covers system instructions, and how error-redaction defaults and explicit overrides work.
  • Change the example to googleai/gemini-3.5-flash-lite, Google's documented replacement for the access-restricted 2.5 Flash model.
  • Add documentation regression checks for the support boundary, defaults, model selection, and fixed adapter version. Keep customer installation pinned to v0.1.0; do not use @dev.

Verification

  • Fresh E2B runs on Go 1.25.0 independently reproduced the original granular-privacy behavior and missing release tag.
  • The updated exact example and its SpanOnly variant compiled with published Genkit v1.14.0 and OTLP HTTP v1.46.0. Sixteen loopback Gemini/OTLP cases passed, covering the new model path, trace hierarchy/resources/authentication, usage, independent coarse switches, system instructions, ignored granular switches, error defaults, and explicit error overrides. Only synthetic credentials and payloads were used; this is not live Gemini or Future AGI ingestion acceptance.
  • Those diagnostic runs used a local replacement of the unavailable adapter with unchanged traceAI PR Fix breadcrumb: non-clickable intermediate segments #544 head 1adef4ac24b2d4df0ffc2842477670cf1e81e8d0. They do not qualify published-package installation.
  • E2B documentation tests: 60/60 passed; integration typecheck and link audit passed with zero broken links. Astro/Pagefind build passed, and both changed pages rendered with working privacy anchors and no browser errors. Desktop screenshots were inspected. The first build exhausted Node's default 2 GiB heap; the clean retry passed with a 6 GiB heap in the 8 GiB cloud sandbox.
  • All eight GitHub checks passed at b22c3cfcc488f29b60602b2fa83fbf5896731ee4, including Docs build & Pagefind, link audit, both Helicone matrices, both FastMCP matrices, and both Temporal Go matrices. These checks do not clear the published-package gate below.

Publication gate — WAIT_RELEASE, keep draft

The exact documented install command still fails in a clean E2B environment with unknown revision go/genkit/v0.1.0. Do not merge this draft on CI or local-replacement test results alone.

  1. Release github.com/future-agi/traceAI/go/genkit v0.1.0 as the go/genkit/v0.1.0 tag after the adapter's dependency blockers are resolved.
  2. Repeat the documented published-package install and example without a local replacement.
  3. Complete isolated authenticated Future AGI ingestion/storage/read/UI acceptance using synthetic native OTLP fixtures for classification, message rendering, hierarchy, failures, project routing, and cost presentation. Source inspection is not deployed UI acceptance.

Custom attributes, span names, resource attributes, application output/logs, and additional unwrapped exporters remain outside the documented privacy boundary. No adapter or product-source changes, release, or merge are part of this docs-only fix.

🤖 Generated with Claude Code

nik13 and others added 5 commits November 2, 2026 14:28
Preserve the Genkit Go and Temporal Go integration contract tests and both catalog entries.

Co-Authored-By: Claude Code <[email protected]>
Document the three supported coarse privacy switches, system instructions, and error defaults in the guide and shared reference. Keep the adapter version pinned and publication gated on its release.

Co-Authored-By: Claude Code <[email protected]>

This branch has not been deployed

No deployments
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