Skip to content

docs(rfc): draft RFC 0043 — event_name from the legacy event.name attribute - #666

Merged
jensholdgaard merged 2 commits into
mainfrom
rfc0043-event-name
Jul 28, 2026
Merged

docs(rfc): draft RFC 0043 — event_name from the legacy event.name attribute#666
jensholdgaard merged 2 commits into
mainfrom
rfc0043-event-name

Conversation

@jensholdgaard

@jensholdgaard jensholdgaard commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

RFC 0043, specified: when a LogRecord has no top-level event_name but carries the legacy event.name attribute (Claude Code, opencode-plugin-otel), ingest derives the field from the attribute — keeping the attribute byte-identical, so the OTLP-fidelity rule (preserve / never correct) holds by construction.

What it buys: the OTel events-semconv-idiomatic event_name == "…" filter starts working for the GenAI corpus, and RFC 0037's event-keyed templating engages for those sources. Six §5 criteria incl. both-encodings coverage per the RFC0003.6 checklist.

Atomic by design: the complementary RFC 0044 (template-aware body ==, closes #664) is a separate RFC and PR.

mdbook build clean; docs-only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F

Summary by CodeRabbit

  • Documentation
    • Added RFC 0043 documenting how event_name is derived from the legacy event.name attribute during ingestion.
    • Documented precedence rules, value preservation, handling of non-string attributes, and expected validation coverage.
    • Added RFC 0043 to the documentation table of contents.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jensholdgaard, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 46 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 082117b0-cc91-4c7e-bd3e-a6f125c12510

📥 Commits

Reviewing files that changed from the base of the PR and between 09c348d and 1521185.

📒 Files selected for processing (2)
  • docs/SUMMARY.md
  • docs/rfcs/0043-event-name-attribute-ingest.md
📝 Walkthrough

Walkthrough

Adds RFC 0043 documenting ingest-time derivation of event_name from the legacy event.name OTLP attribute, and adds the RFC to the documentation table of contents.

Changes

Event name ingestion documentation

Layer / File(s) Summary
RFC 0043 definition and documentation index
docs/rfcs/0043-event-name-attribute-ingest.md, docs/SUMMARY.md
Documents precedence, byte-preserving attribute handling, non-string behavior, protobuf and JSON acceptance criteria, downstream assertions, and links RFC 0043 from the table of contents.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the summary, but it omits the required Related section and checklist items from the template. Add a Related section with the linked RFC/issue and fill in the checklist items for fmt, clippy, tests, docs, and RFC linkage.
Linked Issues check ⚠️ Warning The linked issue is about template-aware body == behavior, but this PR only drafts RFC 0043 about event_name ingestion. Address #664 in this PR or remove it from the linked issues and link the separate RFC 0044 instead.
Out of Scope Changes check ⚠️ Warning The RFC 0043 docs and TOC update are unrelated to the directly linked body-equality issue #664. Limit the PR to the #664 scope or update the linked issues so RFC 0043 is not evaluated against it.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the docs RFC and the event_name derivation from legacy event.name.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rfc0043-event-name

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/rfcs/0043-event-name-attribute-ingest.md`:
- Around line 116-120: Update the RFC0043.6 acceptance criterion to define an
externally observable result for RFC0037 keying: specify the expected
event-keyed template key/output or a concrete miner assertion demonstrating that
the event-keyed path was selected and body mining was not used.
- Around line 55-64: The RFC’s precedence rules do not define empty-string and
null handling consistently across ingestion formats. Clarify that an
empty-string LogRecord.event_name is set, JSON/null event.name derives nothing,
and an empty-string event.name derives the same way as protobuf string values;
add acceptance-test cases for these shapes to ensure protobuf and JSON ingestion
behave identically.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9f509dd0-c20a-434a-97f0-cd6a0372dcb6

📥 Commits

Reviewing files that changed from the base of the PR and between 5dbf502 and 09c348d.

📒 Files selected for processing (2)
  • docs/SUMMARY.md
  • docs/rfcs/0043-event-name-attribute-ingest.md

Comment thread docs/rfcs/0043-event-name-attribute-ingest.md Outdated
Comment thread docs/rfcs/0043-event-name-attribute-ingest.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds RFC 0043 to document (at the RFC/spec level) ingest-time derivation of event_name from the legacy event.name attribute when the top-level OTLP event_name field is absent—aimed at making event_name == "…" queries work for legacy emitters and enabling RFC 0037’s event-keyed templating for those sources.

Changes:

  • Adds a new specified RFC (0043) defining precedence/derivation rules and acceptance criteria for event_name derivation from event.name.
  • Wires RFC 0043 into the mdBook TOC via docs/SUMMARY.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
docs/SUMMARY.md Adds RFC 0043 entry to the RFC list in the docs table of contents.
docs/rfcs/0043-event-name-attribute-ingest.md Introduces RFC 0043 specifying ingest behavior, alternatives, and acceptance criteria for deriving event_name from legacy event.name.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/SUMMARY.md Outdated
jensholdgaard and others added 2 commits July 29, 2026 01:18
…ribute

Specified: ingest derives the top-level event_name from the legacy
event.name attribute when the wire field is unset, preserving the
attribute verbatim (the fidelity rule holds — derivation, never
correction). Unlocks the semconv-idiomatic event_name == filter and
RFC 0037's event-keyed templating for Claude Code / opencode sources.
Complement to RFC 0044; #664 is closed there, not here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F
Signed-off-by: Jens Holdgaard Pedersen <Jens@holdgaard.org>
…view)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F
Signed-off-by: Jens Holdgaard Pedersen <Jens@holdgaard.org>
@jensholdgaard
jensholdgaard merged commit 260ad52 into main Jul 28, 2026
27 checks passed
@jensholdgaard
jensholdgaard deleted the rfc0043-event-name branch July 28, 2026 23:26
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.

body equality predicate silently misses template-mined records (row group pruned on the NULL body column)

2 participants