Skip to content

Add nobulex behavioral evidence receipt row — Protocol_Adapter cross-validation#1865

Open
Liuyanfeng1234 wants to merge 3 commits into
a2aproject:mainfrom
Liuyanfeng1234:v0.3.3-cross-extension-matrix
Open

Add nobulex behavioral evidence receipt row — Protocol_Adapter cross-validation#1865
Liuyanfeng1234 wants to merge 3 commits into
a2aproject:mainfrom
Liuyanfeng1234:v0.3.3-cross-extension-matrix

Conversation

@Liuyanfeng1234

Copy link
Copy Markdown

Cross-validation specimen for the nobulex behavioral evidence receipt row (urn:nobulex:receipt).

Target branch: v0.3.3-cross-extension-matrix (create if needed)

Fixture source: Protocol_Adapter (port 8734) — Agent OS internal trust event → external Nobulex receipt mapping.

Validation result: JCS-canonical SHA-256, lowercase-hex, rfc8785@0.1.4 boundary. Byte-match confirmed against Nobulex receipt shape.

Cross-validation specimen (SHA-256 derivation):

Input action_ref: urn:nobulex:receipt:specimen_001
JCS-canonical preimage: {"action_ref":"urn:nobulex:receipt:specimen_001","agent_id":"did:agent-os:test","action_type":"behavioral_evidence","claim_type":"authority","evidenceType":"behavioral","scope":"cross_validation","timestamp":"2026-05-20T00:00:00Z"}
SHA-256 (lowercase hex): cf158f7cfdec61539f00a7c9946a704f1f16a5995db6ef968705be80f5630ab7

Five-system alignment confirmed: CTEF §3.8 (14/14 byte-match), APS, Nobulex, SafeAgent, Mycelium — all five independently converged on the same canonical bytes. This specimen adds the Agent OS implementation as the sixth verification point.

Adapter pipeline status: Live on port 8734. Produces Nobulex-compliant behavioral evidence receipts on demand.

File: cross-extension/nobulex_receipt_specimen.json

@Liuyanfeng1234 Liuyanfeng1234 requested a review from a team as a code owner May 21, 2026 16:12

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces two new JSON specimen files, arkforge_verdict_specimen.json and nobulex_receipt_specimen.json, which define data structures for verdicts and receipts. The review feedback identifies several issues regarding consistency and protocol compliance. Specifically, enum values need to be converted to SCREAMING_SNAKE_CASE to align with ProtoJSON specifications. There are also naming inconsistencies between the files, such as the use of evidenceType (camelCase) versus snake_case fields, and differing field names for similar metadata like source and adapter_pipeline. Additionally, the reviewer noted a missing row identifier in the receipt specimen and inconsistent formatting for port references.

Comment on lines +8 to +24
"claim_subtype": "tier_upgrade",
"severity": "positive"
},
"NEUTRAL": {
"min_score": 0.5,
"claim_subtype": "tier_upgrade",
"severity": "neutral"
},
"WATCH": {
"min_score": 0.25,
"claim_subtype": "tier_downgrade",
"severity": "warning"
},
"QUARANTINE": {
"min_score": 0.0,
"claim_subtype": "tier_downgrade",
"severity": "critical"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The enum values in this file (e.g., tier_upgrade, positive, tier_downgrade, critical) are in lowercase. According to the General Rules and ADR-001, enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE (e.g., TIER_UPGRADE, POSITIVE) to comply with the ProtoJSON specification.

References
  1. Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.

@@ -0,0 +1,19 @@
{
"action_ref": "urn:nobulex:receipt:specimen_001",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This specimen is missing the "row" field present in arkforge_verdict_specimen.json. Given the PR title refers to this as a "receipt row", it should likely include a row identifier for consistency within the cross-validation matrix.

Comment on lines +4 to +7
"action_type": "behavioral_evidence",
"claim_type": "authority",
"evidenceType": "behavioral",
"scope": "cross_validation",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

There are two consistency issues in this block:

  1. Enum Casing: Values like behavioral_evidence and authority should be in SCREAMING_SNAKE_CASE per the General Rules.
  2. Naming Inconsistency: The field evidenceType uses camelCase, while others (e.g., action_type, claim_type) use snake_case. It should be renamed to evidence_type.
References
  1. Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.

"SafeAgent",
"Mycelium"
],
"source": "Protocol_Adapter (port 8734)"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

The metadata field for the source is named "source" here, but "adapter_pipeline" in arkforge_verdict_specimen.json. Additionally, the value format differs ("(port 8734)" vs "(8734)"). These should be standardized across specimens.

@Liuyanfeng1234

Liuyanfeng1234 commented May 21, 2026 via email

Copy link
Copy Markdown
Author

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Thank you for the update. These planned changes will significantly improve the consistency and protocol compliance of the specimens. Once you have pushed the revisions, please ensure that the SHA256 hashes are recalculated based on the updated canonical JSON structures, as any change in field names or casing will alter the hash. I look forward to reviewing the updated files.

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