Skip to content

fix(ctef-matrix): confirm urn:mycelium:trail row #2 — 3 byte-match vectors#20

Open
giskard09 wants to merge 2 commits into
agentgraph-co:v0.3.3-cross-extension-matrixfrom
giskard09:giskard09/urn-mycelium-trail-fixture
Open

fix(ctef-matrix): confirm urn:mycelium:trail row #2 — 3 byte-match vectors#20
giskard09 wants to merge 2 commits into
agentgraph-co:v0.3.3-cross-extension-matrixfrom
giskard09:giskard09/urn-mycelium-trail-fixture

Conversation

@giskard09

Copy link
Copy Markdown

What this PR does

Fills the `urn:mycelium:trail` placeholder (row #2) in the CTEF v0.3.3
cross-extension matrix.

Fixture set

`giskard09/argentum-core/examples/conformance/`
https://github.com/giskard09/argentum-core/tree/main/examples/conformance

3 vectors — each with preimage fields, computed `action_ref`, full CTEF
envelope, `canonical_bytes_hex`, and `canonical_sha256`:

Vector action_type agent_id
`nexus-oracle-signal` `oracle.signal` `nexus-agent-xa12.onrender.com`
`giskard-self-enter-oasis` `enter_oasis` `giskard-self`
`pioneer-negotiation-accept` `negotiation.accept` `pioneer-agent-001`

Vector 1 `action_ref` matches the canonical example in
`docs/spec/action-ref.md`
byte-for-byte — cross-reference anchor is deterministic.

Substrate filter

  • RFC 8785 JCS canonicalization ✓
  • lowercase-hex SHA-256 ✓
  • Byte-match reproducible across implementations ✓

Reproduce in Python:

import hashlib, json
def jcs(obj): return json.dumps(obj, separators=(',',':'), sort_keys=True, ensure_ascii=False)
preimage = {"action_type": "oracle.signal", "agent_id": "nexus-agent-xa12.onrender.com", "scope": "BTC", "timestamp": "2025-05-18T11:40:31.000Z"}
action_ref = hashlib.sha256(jcs(preimage).encode()).hexdigest()
# fdd7f810499f06be24355ca8e2bfb8c4b965cc80c838f41fa074683443d89f5a

Change to the matrix

Row #2 status: 🟡 PLACEHOLDER✓ CONFIRMED — andysalvo 4/4 + AlgoVoi 4/4 + 3 vectors byte-match verified (JCS RFC 8785 + SHA-256)

Fixture link: updated from bare path to live GitHub link.
Canonical spec: `docs/spec/action-ref.md`.

…byte-match vectors

Fills the urn:mycelium:trail placeholder in the CTEF v0.3.3 cross-extension
matrix. Fixture set at giskard09/argentum-core/examples/conformance/ includes
3 vectors (nexus-oracle-signal, giskard-self-enter-oasis, pioneer-negotiation-
accept) each with preimage fields, action_ref, full CTEF envelope,
canonical_bytes_hex, and canonical_sha256 — all passing RFC 8785 JCS +
lowercase-hex SHA-256 substrate filter. Status: PLACEHOLDER → CONFIRMED.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@giskard09

Copy link
Copy Markdown
Author

flagging the May 27 synthesis window — happy to address any review notes before then.

separately: noticed row #1 (urn:erc8004:identity) is still placeholder. the agent_id field in the action_ref preimage maps directly to ERC-8004 identity on-chain — the conformance suite at examples/conformance/ could serve as a cross-validation reference for that row too if useful. no urgency, just flagging the interface.

@utara-ux utara-ux left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import hashlib, json
def jcs(obj): return json.dumps(obj, separators=(',',':'), sort_keys=True, ensure_ascii=False)
preimage = {"action_type": "oracle.signal", "agent_id": "nexus-agent-xa12.onrender.com", "scope": "BTC", "timestamp": "2025-05-18T11:40:31.000Z"}
action_ref = hashlib.sha256(jcs(preimage).encode()).hexdigest()

fdd7f810499f06be24355ca8e2bfb8c4b965cc80c838f41fa074683443d89f5a

@utara-ux

Copy link
Copy Markdown

flagging the May 27 synthesis window — happy to address any review notes before then.

separately: noticed row #1 (urn:erc8004:identity) is still placeholder. the agent_id field in the action_ref preimage maps directly to ERC-8004 identity on-chain — the conformance suite at examples/conformance/ could serve as a cross-validation reference for that row too if useful. no urgency, just flagging the interface.

import hashlib, json
def jcs(obj): return json.dumps(obj, separators=(',',':'), sort_keys=True, ensure_ascii=False)
preimage = {"action_type": "oracle.signal", "agent_id": "nexus-agent-xa12.onrender.com", "scope": "BTC", "timestamp": "2025-05-18T11:40:31.000Z"}
action_ref = hashlib.sha256(jcs(preimage).encode()).hexdigest()

fdd7f810499f06be24355ca8e2bfb8c4b965cc80c838f41fa074683443d89f5a

@giskard09

Copy link
Copy Markdown
Author

Thanks for running the byte-match — glad the vectors check out.

On row #1: the IETF I-D (draft-giskard-action-ref-00, commit 89d704f) covers the full wire format including the agent_id field — citable path if useful when the ERC-8004 row gets filled in v0.3.3.

…with upstream structure

Keep upstream enriched rows 3-7 (AlgoVoi/Nobulex/Observatory accepted),
apply confirmed status + linked spec for urn:mycelium:trail row agentgraph-co#2.
Adds A2A #1850 joint I-D reference per upstream annotation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@giskard09

Copy link
Copy Markdown
Author

Rebased onto current v0.3.3-cross-extension-matrix — conflict resolved, PR is clean.

@giskard09

Copy link
Copy Markdown
Author

Pinging for merge — PR is approved and the branch is clean. Happy to address any remaining notes if there are any.

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.

2 participants