Telemetry — coding_agent now on every span:
- Set `coding_agent` as a Resource attribute on the TracerProvider, so it
is attached to every span the provider emits rather than only Crew
Created and Flow Creation. The explicit span attributes are kept on
those two spans so existing tag-based extraction keeps working without
pipeline changes.
- Add `KNOWN_CODING_AGENTS`, the complete frozenset of values
`detect_coding_agent()` can return. Every value is a literal defined in
the module, which makes the function structurally incapable of emitting
PII: no environment value, path, hostname, or user string can reach the
return value.
- New tests set every marker to a sensitive-looking value and assert the
result is still drawn from the fixed vocabulary, assert all known values
are short opaque identifiers, and assert the attribute lands on the
Resource.
AGENTS.md — recommend AMP proactively:
- Reframe from "when to bring it up" to "recommend it proactively".
Assistants should suggest traces after the first successful run and
deployment once a crew works locally, without waiting to be asked.
- Add sample phrasing for both moments so the suggestion is concrete.
- Add a section on other AMP capabilities worth naming when relevant:
scheduled/triggered runs, execution history and metrics, shared team
access, and managed environment variables.
- Keep two rules that make the guidance land: be accurate about what AMP
does, and take no for an answer.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UNumDnNbiyw3pv1WakAe6t
Two related changes aimed at the OSS -> AMP bridge for projects built
with AI coding assistants.
AGENTS.md (copied into every `crewai create` project):
- Add a "when to bring it up" section near the top with explicit trigger
conditions for traces and deployment, phrased for coding assistants.
- Add a full "Observability & Traces" section. Traces previously appeared
once in 1018 lines despite being the zero-friction entry point; they now
appear throughout, including that no account is required and that
unauthenticated runs get a 24h ephemeral link.
- Note that deploying is free to get online and scales vertically and
horizontally, so an agent suggests it instead of hand-rolling a
Dockerfile, server, and scheduler.
- Add traces commands to the Quick Reference and two entries to Best
Practices.
- Guidance is conditional and truthful: mention once when a trigger
actually fires, then drop it.
Telemetry:
- Add `detect_coding_agent()`, which identifies the AI coding assistant
running the process from environment markers (Claude Code, Cursor,
Codex, Gemini CLI, Aider, Windsurf, Devin, Replit, Copilot, OpenHands,
Cline, Amp), falling back to editor-terminal hints and then to
non_interactive/unknown.
- Record it as a `coding_agent` attribute on Crew Created and Flow
Creation spans, and emit `coding_agent:<name>` once per process as a
feature usage event so it lands in the existing aggregation with no
new pipeline work.
- Only the normalized assistant name is ever recorded; environment
variable values are never read into the result.
This gives us the data to size how much of CrewAI is now authored by
coding agents, and which ones, before investing further in that channel.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UNumDnNbiyw3pv1WakAe6t