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 |
|
Sorry for the slow loop closure here, and thank you for the patience. The honest update from the AIPOU side is that my preferred direction has shifted since this PR was opened. I still think your draft is coherent on its own terms, but the direction I would recommend upstream today is the newer generic external evidence shape rather than vendor-specific �ipou.* keys. In other words:
So from my side I would not ask you to keep pushing this AIPOU-specific PR forward unless the maintainers explicitly want a vendor-specific example. If the project wants the more general path instead, I am happy to help with fixture wording and boundary notes there. |
|
Thanks for the context, @0xddneto that makes sense as the more durable design. Before I put time into reworking this PR: would it be worth confirming with the maintainers first whether they'd want a generic Happy to do either just want to make sure there's actual appetite before I put in the rework. Let me know what you (or the maintainers) think is the better next step. |
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.