feat(semconv): add AIPOU work-receipt reference span attributes#4373
feat(semconv): add AIPOU work-receipt reference span attributes#4373Diyaaa-12 wants to merge 4 commits into
Conversation
Adds AIPOU_WORK_RECEIPT_ID, AIPOU_EVIDENCE_CLASS, AIPOU_SCHEME, and AIPOU_VALIDATION_STATUS to SpanAttributes for optionally correlating an external AIPOU work receipt with a trace/span. These are opt-in reference attributes only — tracing does not derive, validate, or own the receipt lifecycle; that stays external to AIPOU's signed receipt store. Ref: traceloop#4340 Signed-off-by: Diya Maheshwari <diyamaheshwari124@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdded four deprecated AIPOU ChangesAIPOU span attributes
Estimated code review effort: 1 (Trivial) | ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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
`@packages/opentelemetry-semantic-conventions-ai/opentelemetry/semconv_ai/_testing.py`:
- Line 465: Add a trailing newline at the end of _testing.py, immediately after
the final assertion, without changing any other content.
🪄 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
Run ID: 700081ac-f14f-4095-b3d2-987dcfbdb088
📒 Files selected for processing (2)
packages/opentelemetry-semantic-conventions-ai/opentelemetry/semconv_ai/__init__.pypackages/opentelemetry-semantic-conventions-ai/opentelemetry/semconv_ai/_testing.py
|
Thank you, @Diyaaa-12. This is the minimal integration surface we discussed, and keeping it to constants plus conformance tests is a good first step. The four fields are correlation-only; the authoritative receipt and validation lifecycle remain external to OpenLLMetry. I found one important placement issue before maintainer review: the new constants currently sit immediately below With that correction, the scope matches the agreed privacy and trust boundary: meaningful work-unit spans may carry the compact reference, while OpenLLMetry does not collect private receipt payloads, derive validation status, or become claim authority. No helper is needed in this PR. |
Signed-off-by: Diya Maheshwari <diyamaheshwari124@gmail.com>
|
I applied the complementary AIPOU-side reference projection in 0xddneto/AI-Proof-of-Us@90551cf.
The conformance test also asserts that wallet, reward, prompt, output, and claim authority are absent. The MCP suite passes 38/38, the production dependency audit reports zero vulnerabilities, and the package dry-run succeeds. This gives the PR an executable producer-side reference without requiring OpenLLMetry to add a helper or validate AIPOU receipts. I also saw that the trailing-newline fix landed immediately, thank you. The only review item still visible in the current diff is moving the constants out from under the existing |
Addresses review feedback from @0xddneto on traceloop#4373 - AIPOU constants were placed immediately after TRACELOOP_CORRELATION_ID's # Deprecated comment, causing CodeRabbit to flag them as deprecated. Moved to a dedicated 'External work receipt references (opt-in)' section. Signed-off-by: Diya Maheshwari <diyamaheshwari124@gmail.com>
|
Reviewed commit One small source-organization cleanup remains: the AIPOU section currently sits between |
Addresses review feedback from @0xddneto on traceloop#4373 - the AIPOU section was splitting the Watson/genai LLM attribute block (sitting between GEN_AI_WATSONX_DECODING_METHOD and the other Watson attributes). Moved it to after GEN_AI_WATSONX_REPETITION_PENALTY, keeping the Watson group coherent. Signed-off-by: Diya Maheshwari <diyamaheshwari124@gmail.com>
|
Hi @0xddneto ! Fixed moved the complete AIPOU section to right after |
|
Hi @0xddneto ! waiting for review |
Follow-up to discussion in #4340.
Adds four opt-in SpanAttributes constants for referencing an external
AIPOU work receipt:
Scope is intentionally minimal per @0xddneto's proposed boundary:
constants + tests only, no helper function yet — want to confirm the
naming/shape here before adding one.
Tests added in
_testing.py(shared compliance suite, reused by bothtest_semconv_compliance.pyandtest_span_attributes.py).Note: 30 unrelated pre-existing failures in this suite come from a
missing
opentelemetry-semantic-conventionsdependency in my localenv — confirmed via
git stashthat they fail identically withoutthis change.
Ref: #4340
feat(instrumentation): ...orfix(instrumentation): ....Summary by CodeRabbit
Enhancements
Tests
aipou.*values.