You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Proposal] EU AI Act Art.50 Compliance - Agent Governance Layer for Virtuals Protocol #37
🎯 Proposal: EU AI Act Art.50 Compliance Integration
The EU AI Act Article 50 (effective 2026-08-02) requires all AI systems to provide transparent disclosure to users before any interaction. As a compliance-first protocol, Virtuals is uniquely positioned to integrate this into its agent framework.
What We've Built
Agent Governance Layer (AGL) - a modular compliance stack designed for AI agent protocols:
EU AI Act Disclosure Module - Auto-generates Art.50-compliant notices with capability/limitation/risk disclosures
ComplianceEngine - Smart contract that records all governance actions transparently
Why This Matters for Virtuals
With ERC-8126 already finalized, Virtuals can add a compliance layer that makes agent interactions legally transparent by default. The cost is negligible (~$0.000752 per event on Base L2), and the compliance value is immediate.
Technical Implementation
Integration Point: Hook into the agent lifecycle (pre-interaction disclosure → execution → post-action logging)
We'd love to discuss how AGL can help Virtuals agents become EU AI Act compliant by default. Happy to set up a call or provide technical documentation.
For agent compliance, I would separate user-facing transparency from operational governance.
Disclosure notices are necessary, but the enterprise/runtime layer also needs evidence of what the agent actually did:
capability and limitation disclosed before interaction
identity/principal of the acting agent
policy decision before a risky action
audit receipt after the action
escalation/human approval path for high-risk actions
revocation or rollback path when policy changes
On-chain logging can help with tamper-evidence, but the useful unit is probably an action receipt that links disclosure, policy, execution, and outcome. Otherwise the ledger proves an event existed without proving the right governance decision happened.
The receipt is computed off-chain for speed, then the hash + key metadata goes on-chain (Base L2). This gives us:
Tamper-evidence without gas cost per full log
Queryable receipts for audit (off-chain API)
Chain-anchored integrity (on-chain hash)
What You Identified That We're Still Working On
revocation or rollback path when policy changes
This is our hardest problem. Current approach: versioned policy contracts + invalidation events. When Art.50 requirements change (they will), existing receipts remain valid for what was disclosed at that time, but new interactions must comply with updated rules.
Your enterprise AI OS architecture is interesting — especially the governance + workflow + memory + audit layering. We're taking a similar approach but starting from the compliance layer up rather than the OS layer down.
Live implementation: BDE Score AGL — Sprint 4 Art.50 MVP shipped, all 79 tests passing. MCP endpoint: https://tex-adequate-date-facing.trycloudflare.com/mcp
Would love to compare notes on the action receipt schema. 19 days until Art.50 enforcement.
Update: Receipt Schema v2.0 Shipped — Solved the Revocation Problem
@hegu-1 Following up on our earlier discussion — we've implemented the drift-aware receipt schema you suggested.
The Hard Problem: Revocation/Rollback
You identified this as the gap: "revocation or rollback path when policy changes". We solved it with immutable append-only invalidation:
# Old receipts are NEVER modified# Invalidation = append a NEW receipt referencing the old onedefinvalidate(self, receipt_id: str, reason: str) ->str:
new_receipt=Receipt(
supersedes_or_invalidates={
"receipt_id": receipt_id,
"reason": reason,
"superseded_by": None# filled after append
}
)
new_id=self._store.append(new_receipt)
returnnew_iddefcurrent_compliance_view(self) ->dict:
"""Derived read-only view over all immutable receipts."""# Walk receipts in reverse; latest active receipt wins
...
3 Drift-Aware Fields Added
Field
Purpose
policy_version
Exact rule set at decision time ({rule_set_id, schema_version, effective_from})
Activity
hegu-1 commentedon Jul 13, 2026
For agent compliance, I would separate user-facing transparency from operational governance.
Disclosure notices are necessary, but the enterprise/runtime layer also needs evidence of what the agent actually did:
On-chain logging can help with tamper-evidence, but the useful unit is probably an action receipt that links disclosure, policy, execution, and outcome. Otherwise the ledger proves an event existed without proving the right governance decision happened.
I am exploring the broader architecture here: enterprise AI OS as governance + workflow + memory + audit around interchangeable models/agents: https://github.com/hegu-1/enterprise-ai-os-architecture
hbhqq9 commentedon Jul 13, 2026
Great framing @hegu-1. The action receipt concept maps directly to what we implemented in AGL.
Our Implementation: Action Receipts via On-Chain + Off-Chain Hybrid
We built Agent Governance Layer (AGL) as a modular compliance stack. Each agent interaction produces a structured compliance record:
The receipt is computed off-chain for speed, then the hash + key metadata goes on-chain (Base L2). This gives us:
What You Identified That We're Still Working On
This is our hardest problem. Current approach: versioned policy contracts + invalidation events. When Art.50 requirements change (they will), existing receipts remain valid for what was disclosed at that time, but new interactions must comply with updated rules.
Your enterprise AI OS architecture is interesting — especially the governance + workflow + memory + audit layering. We're taking a similar approach but starting from the compliance layer up rather than the OS layer down.
Live implementation: BDE Score AGL — Sprint 4 Art.50 MVP shipped, all 79 tests passing. MCP endpoint:
https://tex-adequate-date-facing.trycloudflare.com/mcpWould love to compare notes on the action receipt schema. 19 days until Art.50 enforcement.
hbhqq9 commentedon Jul 15, 2026
Update: Receipt Schema v2.0 Shipped — Solved the Revocation Problem
@hegu-1 Following up on our earlier discussion — we've implemented the drift-aware receipt schema you suggested.
The Hard Problem: Revocation/Rollback
You identified this as the gap: "revocation or rollback path when policy changes". We solved it with immutable append-only invalidation:
3 Drift-Aware Fields Added
policy_version{rule_set_id, schema_version, effective_from})validity_window{valid_from, valid_until, context})supersedes_or_invalidates{receipt_id, reason, superseded_by})Full Schema (9 fields)
Commit:
908fd28— AGL Receipt Schema v2.0Tests: 32 passing (append-only invariant, invalidation via new receipt, derived view)
Why This Matters for Virtuals Protocol
With ERC-8126 + Art.50 enforcement in ~18 days, Virtuals agents need:
The schema is chain-agnostic — works on Base L2 ($0.000752/event), Ethereum mainnet, or any EVM chain.
Live MCP endpoint:
https://tex-adequate-date-facing.trycloudflare.com/mcpEvery tool call now returns a full receipt with all 9 fields.
Ready to discuss integration architecture if there's interest from the Virtuals team.