Repository navigation
Add ERC: Token-Bound Executable Skills - #1879
garyyang-finchip wants to merge 31 commits into
Conversation
File
|
| @@ -0,0 +1,327 @@ | |||
| --- | |||
| eip: 9999 | |||
There was a problem hiding this comment.
| eip: 9999 | |
| eip: 8338 |
Assigning next sequential EIP/ERC/RIP number.
Numbers are assigned by editors & associates.
Please also update the filename.
| title: Token-Bound Executable Skills | ||
| description: An ERC-721 extension binding tokens to hash-verifiable executable skill packages with update control and optional confidentiality. | ||
| author: Gary Yang (@garyyang-finchip) | ||
| discussions-to: https://ethereum-magicians.org/t/token-bound-executable-skills-the-artifact-identity-integrity-layer-under-skill-registries-erc-721-extension/29005 |
There was a problem hiding this comment.
| discussions-to: https://ethereum-magicians.org/t/token-bound-executable-skills-the-artifact-identity-integrity-layer-under-skill-registries-erc-721-extension/29005 | |
| discussions-to: https://ethereum-magicians.org/t/erc-8338-token-bound-executable-skills/29005 |
Updated Eth Magicians title with assigned number & ERC title.
|
Thanks @abcoathup , all done. |
You will need an editor to review (which I am not). |
|
Thanks @abcoathup, understood. |
|
The commit 71b1103 (as a parent of 7452091) contains errors. |
jochem-brouwer
left a comment
There was a problem hiding this comment.
This review was written with assistance of an LLM.
First editorial review of the proposal text (prior feedback was number assignment and discussions-to, both addressed).
Verified
- Frontmatter valid;
requires(165, 721) Final; all in-body proposal links (ERC-721/1155/4337/4907/5169/8004/8257) resolve; asset links and../LICENSE.mdfollow convention; all Solidity assets are CC0. - Recomputed both ERC-165 interface identifiers from the interface listings:
ISkillToken = 0x734553a6,IOnchainSkillDocument = 0x7050dd2c— both correct, and the spec's interface blocks match the asset interfaces exactly. - Re-verified all six frozen vectors independently: every object file hashes (SHA-256) to its filename; every
skillroot.cborhashes to the statedpackageHash; my own DAG-CBOR canonical encoder re-encodes all six roots byte-for-byte (deterministic encoding holds); theprevchains link correctly (update-v2-companion-only→public-v1,key-rotation-v2→confidential-v1); confidentiality descriptors are public JSON withplaintextHashconsistency againstmdHash.
Findings — see inline comments:
- Blocking:
erc-8419.md(Know-Your-Agent Framework — an unrelated proposal) is committed at the repository root. Root-level files are not picked up by the site build, so none of the green CI checks validated it; it must be removed from this PR. assets/erc-8338/README.mdlinks an external GitHub repository (and pins a Sepolia deployment); the Reference Implementation section (line 302) directs readers to that "canonical repository" for the packer/verifier. EIP-1's link policy does not allow this origin, and the proposal cannot rely on external mutable material.- RFC 2119/8174 boilerplate is unlinked (line 69).
Non-blocking note: Security Considerations carries normative uppercase keywords (e.g. "Purchasers MUST inspect", "runtimes MUST sandbox", "MUST be documented", "Rotation MUST surface"). House practice is to keep requirements in Specification and discuss implications elsewhere; lowercasing in place would also resolve it.
|
Thank you @jochem-brouwer for the thorough review — especially for independently
Ready for another look. |
jochem-brouwer
left a comment
There was a problem hiding this comment.
This review was written with assistance of an LLM.
Follow-up to my review of 2026-10-07. Only three files changed since aa6a077 (ERCS/erc-8338.md +7/-7, assets/erc-8338/README.md +8/-8, erc-8419.md removed), so the vector/interface-id verification from the previous review still stands.
Earlier findings — all resolved
erc-8419.mdat the repository root: removed (commit83f3eb3). ✅- External GitHub repository / Sepolia pointer in
assets/erc-8338/README.mdand the "canonical repository" sentence in Reference Implementation: both removed; the README now describes only vendored material and no asset file links to a disallowed origin (the remaininghttps://strings are JSON Schema$idplaceholders andexamplehosts in tests). ✅ - RFC 2119/8174 boilerplate: now linked. ✅
- (Non-blocking) uppercase keywords in Security Considerations: lowercased. ✅
CI is green on the current head.
Remaining editorial items — see inline comments:
- Required: RFC 8949 is cited without a link (Specification › SkillRoot).
- Required: abbreviations are used before being spelled out: LLM, CID, BOM, DAG-CBOR/CBOR, TEE/FHE/ZK, NFT. Spell each out once at first use.
- Non-blocking: an uppercase
OPTIONALsits in the Abstract diagram andMUSTappears in Reference Implementation; keep RFC 2119 keywords inside Specification. - Non-blocking: the "ERC-721-based agent skill registry … in draft review" in Rationale is ERC-8239 (#1704); naming it helps readers find it.
Once the two required items are in, this is ready to merge as Draft.
|
Thanks @jochem-brouwer — both required items are addressed: Required
Non-blocking
No changes to interfaces, assets, schemas or test vectors; interface identifiers unchanged. Re-requesting your review — thank you for the fast turnaround. |
This document introduces the Generative Engine Optimization Framework (GEOF), detailing its structure, motivation, specifications, and security considerations.
This PR adds a new ERC: Token-Bound Executable Skills — an ERC-721 extension
binding a token to a hash-verifiable executable skill package (deterministic
DAG-CBOR object graph, plaintext primary-document commitment, contract-owned
version chain, publication authority separate from ownership, irreversible
freeze, optional in-package confidentiality).
Discussion: https://ethereum-magicians.org/t/token-bound-executable-skills-the-artifact-identity-integrity-layer-under-skill-registries-erc-721-extension/29005
Reference implementation in assets/: Solidity contracts (interface IDs
compiler-verified: ISkillToken = 0x734553a6, IOnchainSkillDocument =
0x7050dd2c), zero-dependency packer/verifier, JSON Schemas, Foundry suite
(12/12, one assertion per MUST clause), and six frozen test vectors.
Deployed and verified end-to-end on Sepolia:
0x12cc1a5319c6F08bFB50982e3814A376A59fE550.
Note: erc-9999 is a placeholder number, to be renamed to the assigned
number (file name, eip header, and assets directory together).