Summary
PR #2572 added skill-aware audit trail hardening to the Python agent-os framework integration adapters. This issue tracks porting the equivalent primitives to the other language SDKs where applicable, so governance behavior stays consistent across the ecosystem.
What was added in Python (PR #2572)
- Trusted skill metadata source (
TrustedSkillMetadataSource) so skill name and origin come from framework-owned values, not spoofable request payloads
provenance_source_trust provenance marker on audit events
- UTC-normalized audit timestamps
- Deterministic, order-stable context hashing with a fail-safe path
- Spoof-resistance tests across the ADK, CrewAI, Semantic Kernel, OpenAI Agents SDK, AutoGen, and LangChain adapters
Gap in other SDKs
A scan of the other SDKs shows they have framework discovery and detection (recognizing langchain, crewai, autogen, etc.) but none implement the skill-audit primitives above (no trusted_skill / TrustedSkillMetadata, no provenance_source_trust, no emit_skill_audit):
| SDK |
Path |
Status |
| TypeScript |
agent-governance-typescript/ |
Framework discovery only, no skill-audit primitives |
| .NET |
agent-governance-dotnet/ |
Has Audit and Integration namespaces, no skill-audit primitives |
| Go |
agent-governance-golang/ |
Discovery and audit-chain example only |
| Rust |
agent-governance-rust/ |
Framework integration support only |
Proposed work
For each SDK, evaluate whether equivalent framework adapters exist and, where they do, port:
- trusted skill metadata source extraction (framework-owned, not request-derived)
- provenance trust marker on audit events
- UTC-normalized audit timestamps
- deterministic context hashing
- spoof-resistance tests
Where a given framework adapter does not exist in a language SDK, no work is required for that adapter and it should be noted as not applicable.
References
Summary
PR #2572 added skill-aware audit trail hardening to the Python
agent-osframework integration adapters. This issue tracks porting the equivalent primitives to the other language SDKs where applicable, so governance behavior stays consistent across the ecosystem.What was added in Python (PR #2572)
TrustedSkillMetadataSource) so skill name and origin come from framework-owned values, not spoofable request payloadsprovenance_source_trustprovenance marker on audit eventsGap in other SDKs
A scan of the other SDKs shows they have framework discovery and detection (recognizing langchain, crewai, autogen, etc.) but none implement the skill-audit primitives above (no
trusted_skill/TrustedSkillMetadata, noprovenance_source_trust, noemit_skill_audit):agent-governance-typescript/agent-governance-dotnet/AuditandIntegrationnamespaces, no skill-audit primitivesagent-governance-golang/agent-governance-rust/Proposed work
For each SDK, evaluate whether equivalent framework adapters exist and, where they do, port:
Where a given framework adapter does not exist in a language SDK, no work is required for that adapter and it should be noted as not applicable.
References