Skip to content

feat(did-binding): DID binding for agent_identity (closes #17)#18

Merged
desiorac merged 1 commit intomainfrom
feat/did-binding
Mar 23, 2026
Merged

feat(did-binding): DID binding for agent_identity (closes #17)#18
desiorac merged 1 commit intomainfrom
feat/did-binding

Conversation

@desiorac
Copy link
Copy Markdown
Member

Summary

  • New trust_layer/did_resolver.py: DID resolution (did:web + did:key), SSRF protection, challenge-response binding (Path A), OATR delegation (Path B), key profile update
  • POST /v1/keys/bind-did — initiate binding (Path A returns challenge, Path B with oatr_issuer_id binds immediately via registry delegation)
  • POST /v1/keys/bind-did/confirm — submit Ed25519 signature over challenge → verified_did stored in key profile
  • proxy.py: verified_did silently overrides any X-Agent-Identity header; identity_consistent is always True when verified DID matches (no false positives from historical mismatch)
  • config.py: OATR_MANIFEST_URL env var (default: FransDevelopment/open-agent-trust-registry manifest)
  • 35 new tests (unit + integration), 422 total passing, 0 regressions

Non-breaking

Clients without a bound DID are unaffected — all changes are behind the verified_did key in the key profile, which defaults to absent.

Test plan

  • python3 -m pytest tests/test_did_binding.py -v → 35 passed
  • python3 -m pytest tests/ -q → 422 passed

🤖 Generated with Claude Code

- New trust_layer/did_resolver.py: resolve did:web + did:key, SSRF guard,
  challenge-response (Path A), OATR delegation (Path B), bind_did_to_key
- POST /v1/keys/bind-did + POST /v1/keys/bind-did/confirm endpoints
- proxy.py: verified_did overrides X-Agent-Identity; identity_consistent
  always True when verified DID matches (no false positives)
- config.py: OATR_MANIFEST_URL env var
- 35 unit + integration tests, 422 total passing

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@github-actions
Copy link
Copy Markdown

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@desiorac desiorac merged commit 2ea231d into main Mar 23, 2026
3 checks passed
@desiorac desiorac deleted the feat/did-binding branch March 23, 2026 20:23
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.

1 participant