feat: add nobulex — Ed25519 receipt layer for Dify agents (EU AI Act Article 12)#2500
Open
arian-gogani wants to merge 1 commit into
Open
feat: add nobulex — Ed25519 receipt layer for Dify agents (EU AI Act Article 12)#2500arian-gogani wants to merge 1 commit into
arian-gogani wants to merge 1 commit into
Conversation
crazywoola
requested changes
Jun 8, 2026
Member
crazywoola
left a comment
There was a problem hiding this comment.
❌ Request Changes
Decision: Request changes
Failed Checks
| Check | Status | Detail | Required action |
|---|---|---|---|
Icon validation |
❌ Fail | icon file not found: _assets/_assets/icon.svg | Provide a real custom icon file under _assets/ and reference it from manifest.yaml. |
dify_plugin version |
❌ Fail | dify_plugin must be installed and >= 0.9.0, but it was not found. | Use dify_plugin >= 0.9.0 in the packaged plugin environment. |
Install test |
❌ Fail | Command failed (1): /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/.venv/bin/python /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/toolkit/validator/test-plugin-install.py -d /var/folders/vc/vfsgl8611qn5… | Fix the plugin so test-plugin-install.py passes. |
Packaging test |
❌ Fail | Command failed (1): /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/.venv/bin/python /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/toolkit/uploader/upload-package.py -d /var/folders/vc/vfsgl8611qn508whms… | Fix the plugin so upload-package.py --test passes. |
Full Check Results
| Check | Status | Detail | Required action |
|---|---|---|---|
PR content language |
✅ Pass | PR title/body CJK ratio=0.0% (zh=0, en=2002, ignored_zh=0, allowed_zh<=0) | None. |
Project structure |
✅ Pass | All expected files present: manifest.yaml, README.md, PRIVACY.md. _assets/: yes. | None. |
Manifest author |
✅ Pass | author is valid. | None. |
Icon validation |
❌ Fail | icon file not found: _assets/_assets/icon.svg | Provide a real custom icon file under _assets/ and reference it from manifest.yaml. |
Version check |
✅ Pass | version 0.0.1 is available. | None. |
README language |
✅ Pass | README.md CJK ratio=0.0% (zh=0, en=1799, allowed_zh<=0) | None. |
PRIVACY.md |
✅ Pass | PRIVACY.md exists and is non-empty. | None. |
Dependency install |
✅ Pass | requirements installed successfully. | None. |
dify_plugin version |
❌ Fail | dify_plugin must be installed and >= 0.9.0, but it was not found. | Use dify_plugin >= 0.9.0 in the packaged plugin environment. |
Install test |
❌ Fail | Command failed (1): /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/.venv/bin/python /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/toolkit/validator/test-plugin-install.py -d /var/folders/vc/vfsgl8611qn5… | Fix the plugin so test-plugin-install.py passes. |
Packaging test |
❌ Fail | Command failed (1): /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/.venv/bin/python /var/folders/vc/vfsgl8611qn508whmstl644w0000gn/T/pr-review-helper-xqnxrfc8/toolkit/uploader/upload-package.py -d /var/folders/vc/vfsgl8611qn508whms… | Fix the plugin so upload-package.py --test passes. |
Next steps
- Icon validation: Provide a real custom icon file under _assets/ and reference it from manifest.yaml.
- dify_plugin version: Use dify_plugin >= 0.9.0 in the packaged plugin environment.
- Install test: Fix the plugin so test-plugin-install.py passes.
- Packaging test: Fix the plugin so upload-package.py --test passes.
Please address these issues and push an update.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1. Metadata
2. Submission Type
3. Description
Nobulex adds a cryptographic receipt layer to any Dify agent workflow. Every tool call gets an Ed25519-signed, JCS-canonical receipt, hash-chained to the previous one. Change any byte and verification fails at that point. An auditor verifies the complete history offline with only the agent's public key — no vendor dependency.
Four tools:
sign_receipt— sign a receipt for one tool call (action_type + scope + optional policy_version)verify_receipt— verify a receipt's signature and chain integrity offlineexport_article12— export a regulator-facing EU AI Act Article 12 evidence packageget_trust_score— get the agent's Trust Capital score (0-100) based on verified receipt historyEU AI Act Article 12 enforcement begins August 2, 2026. Dify enterprise users deploying agents in regulated industries (finance, healthcare, legal) need tamper-evident per-action evidence — not just platform logs. This plugin produces independently verifiable receipts in a standard format.
Built on pip install nobulex (PyPI, cross-validated against 4 published bilateral receipt test vectors). Sections 8-11 of the OWASP AML and Sanctions Compliance for AI Agent Payments cheat sheet (PR #2210, merged June 2026) include this receipt format's JCS canonicalization rationale and EU AI Act compliance mapping.
4. Checklist
5. Documentation Checklist
6. Privacy Protection Information
Data Collection: The plugin does not collect any user personal data. All cryptographic operations run locally in the Dify environment.