Skip to content

Otel: Propose new cicd.automation.* standard#39435

Merged
mnkiefer merged 5 commits into
mainfrom
otel-schema-contract
Jun 15, 2026
Merged

Otel: Propose new cicd.automation.* standard#39435
mnkiefer merged 5 commits into
mainfrom
otel-schema-contract

Conversation

@mnkiefer

@mnkiefer mnkiefer commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Expands specs/otel-observability-spec.md (renamed to "OpenTelemetry Specification") to introduce v1.0.0 of the cicd.automation.* semantic-convention standard as a new normative Section 16. The document's abstract, conformance block, table of contents, normative references, and change log are all updated to reflect the new section. No production code is modified; the canonical Go source referenced by the spec (pkg/semconv/cicd_automation.go) is noted as not yet implemented.


Changes by file

specs/otel-observability-spec.md — modified

Area What changed
Document metadata Title → "OpenTelemetry Specification"; last_updated → 2026-06-15
Introduction Rewritten to cover both the existing OTLP runtime contract and the new cicd.automation.* v1.0.0 standard
§2 Conformance Conformance scope extended from §4–12 to §4–16; conformance-class table added (Compiler, Runtime Emitter, Schema Producer, Validator); RFC 2119 keyword set completed; new §2.2 Compliance Levels and §2.3 Conformance Statement
Table of Contents New §16 "New cicd.automation.* Standard"; §17 "Change Log" (renumbered from §16)
Normative references Full bibliographic URLs added
§16 (new — normative) Full definition of cicd.automation.* v1.0.0 — see detail below
Change log (§17) v0.3.0 entry added (consolidation); contributor note added to v0.2.0 (schema-first workflow)

New §16 — cicd.automation.* Standard

Sub-section Content
§16.1 Scope Covers automation runs, tasks, steps, approval gates, mutations, artifact outcomes. Explicitly excludes cicd.*, gen_ai.*, mcp.*, and vendor namespaces.
§16.2 Namespace & Boundaries 5 boundary rules preventing collision with adjacent OTel domains
§16.3 Core Model 6 entities: Automation Run, Task, Step, Approval Gate, Mutation, Artifact Outcome — each with required attributes
§16.4 Span Model 6 span types, all using OTel INTERNAL span kind
§16.5 Vocabulary & Requirement Levels 17 attributes with normative requirement levels per span type
§16.6 Registry & Versioning Canonical source: pkg/semconv/cicd_automation.go (not yet implemented); machine-readable registries: registry/cicd-automation-attributes.yaml, registry/cicd-automation-spans.yaml; SemVer versioning rules defined

Commit history

SHA Message
248e79d7a Otel: Propose new cicd.automation.* standard (primary change)
358a3f4f4 Potential fix for pull request finding
890c025c4 Potential fix for pull request finding
3baf696db Potential fix for pull request finding
e13291e92 Potential fix for pull request finding

⚠️ Four "Potential fix for pull request finding" commits are present. These appear to be tooling/automation fixes unrelated to the spec content; reviewers should confirm they do not affect spec outputs.


Reviewer guidance

  • Spec correctness: Review §16 (especially §16.1 scope exclusions, §16.2 boundary rules, and §16.5 requirement levels) for alignment with upstream OpenTelemetry semantic-convention conventions.
  • Conformance table: Verify the four conformance classes (Compiler, Runtime Emitter, Schema Producer, Validator) are exhaustive and correctly scoped.
  • Unimplemented canonical source: pkg/semconv/cicd_automation.go is referenced but not yet created — confirm whether a follow-up issue/PR is tracked or a stub should be added here.
  • Registry files: registry/cicd-automation-attributes.yaml and registry/cicd-automation-spans.yaml are referenced; confirm they exist or are out-of-scope for this PR.
  • No runtime risk: All changes are documentation/specification only; no Go code is modified.

Generated by PR Description Updater for issue #39435 · 119.5 AIC · ⌖ 13.7 AIC · ⊞ 19.9K ·

@mnkiefer mnkiefer self-assigned this Jun 15, 2026
Copilot AI review requested due to automatic review settings June 15, 2026 18:04
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

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

This PR updates the repository’s normative OpenTelemetry spec to broaden its scope beyond the existing observability.otlp contract by introducing a new, versioned cicd.automation.* semantic-convention standard for autonomous work inside CI/CD.

Changes:

  • Renames/reframes the spec as a broader “OpenTelemetry Specification” and adds publication/governance metadata.
  • Updates the conformance model to include conformance classes and to encompass the new Section 16.
  • Adds a new normative Section 16 defining cicd.automation.* entities, spans, vocabulary, and versioning guidance.
Show a summary per file
File Description
specs/otel-observability-spec.md Expands the normative OTLP observability spec to also define the new cicd.automation.* semantic conventions and updates conformance framing accordingly.

Copilot's findings

Tip

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

  • Files reviewed: 1/1 changed files
  • Comments generated: 4

Comment thread specs/otel-observability-spec.md Outdated
Comment thread specs/otel-observability-spec.md Outdated
Comment thread specs/otel-observability-spec.md Outdated
Comment thread specs/otel-observability-spec.md Outdated
mnkiefer and others added 4 commits June 15, 2026 20:10
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

✅ smoke-ci: safeoutputs CLI comment + comment-memory run (27566563450)

Generated by 🧪 Smoke CI for issue #39435 ·

@mnkiefer mnkiefer merged commit 7f17f80 into main Jun 15, 2026
6 checks passed
@mnkiefer mnkiefer deleted the otel-schema-contract branch June 15, 2026 18:25
@github-actions

Copy link
Copy Markdown
Contributor

Hey @mnkiefer 👋 — really solid work formalizing the cicd.automation.* semantic-convention standard in §16! The core model (run/task/step/approval/mutation/artifact-outcome), the span vocabulary table with normative requirement levels, and the namespace boundary rules are all clearly articulated and well-scoped against adjacent domains (cicd.*, gen_ai.*, mcp.*). This is a meaningful contribution to the project's observability contract.

A couple of things that would help get this across the finish line:

  • Add compliance tests — the PR defines a concrete attribute vocabulary (§16.5) and references a canonical source at pkg/semconv/cicd_automation.go (§16.6), but no test-file changes accompany the spec. Even a stub Go test verifying that the required attributes for each span type are declared would prevent spec/code drift and satisfy the project's test coverage expectations.
  • Expand the PR description — the single-line body covers the "what" but not the "why". A short paragraph on the motivation (e.g., which observability gaps in cicd.*/gen_ai.*/mcp.* coverage prompted this new namespace, and what use-cases it unlocks for gh-aw) would help reviewers evaluate the design intent.

If you'd like a hand with the compliance stubs, you can assign this prompt to your coding agent:

Add compliance test coverage for the new `cicd.automation.*` semantic-convention standard defined in specs/otel-observability-spec.md §16.

1. Create `pkg/semconv/cicd_automation.go` (if it does not already exist) declaring string constants for every attribute in the §16.5 vocabulary table (cicd.automation.run.id, cicd.automation.run.kind, cicd.automation.run.mode, cicd.automation.level, cicd.automation.outcome, cicd.automation.task.id, cicd.automation.task.kind, cicd.automation.task.intent, cicd.automation.step.id, cicd.automation.step.kind, cicd.automation.step.outcome, cicd.automation.approval.required, cicd.automation.approval.result, cicd.automation.mutation.performed, cicd.automation.mutation.scope, cicd.automation.artifact.kind, cicd.automation.artifact.produced).

2. Add `pkg/semconv/cicd_automation_test.go` that verifies:
   - All 17 vocabulary attributes are non-empty strings.
   - Span-required attributes for each span type are present (e.g., run.id and run.kind are required on span.cicd.automation.run).
   - The semconv stability marker is set to "development" consistent with §16.6.

3. Follow the existing patterns in the pkg/semconv/ package for constant declarations and test structure.

Generated by ✅ Contribution Check · 464.9 AIC · ⌖ 14.1 AIC · ⊞ 24.7K ·

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.

2 participants